From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-lf1-f48.google.com ([209.85.167.48]) by ewsd; Fri Sep 25 03:38:21 EDT 2020 Received: by mail-lf1-f48.google.com with SMTP id q8so1718886lfb.6 for <9front@9front.org>; Fri, 25 Sep 2020 00:38:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:user-agent:mime-version; bh=u+qOEjMwwEeNOPx3ohEjKMOERfmghBuz8RtMujx1SPk=; b=T3ACb0kAJ3ckPQtFmH7dJA5YQTugdgeCm7jt1Es2eEunfBXyH1Wo+D9HC+saQitRcO pAJxK1CKojPGayBYIHgDEUXsMiETTy+zmhcLb8VD3LfKVKi6oO95T1jIX4z/CRoUHA96 ByWvr44Ge/h4mbr+cmk8kx+SvzdRl4QW9zTkQJ66X4Brv+XJz50vEjLW8MugCFFXszjL CamrQCNvdO0oAMep4OFSi1+Z6KbLS4LO36GtGK/Bk4+wuGYiLRjCPo4zFvKEmwaV8DE/ bqozCGZ08vpdJNSxEmnRz8pgFqs2LE783UgVPKQvCyzvNqE/+04jRWPKZ4hATC868uhT CBaA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:user-agent :mime-version; bh=u+qOEjMwwEeNOPx3ohEjKMOERfmghBuz8RtMujx1SPk=; b=ktKt92JP0rxnp1vyH38J63lTxizSOW8nS+hONT6wpTeYBm3QqLpHpuQgiekDTH8gRc ORGE1DNE6it4sRsMneCjyq7DoXQptnKcjlErnLtUJ3vQ0s0KhhocQPgWtk/GAFVGufkw YWL5SjzyUAXXBm3dt+8ryS2+Xp5QaQsU1GHd1+nmvhqmHmgmGiYlCS/lGGiUMFlPkggb r83L+IdbTaO6JhTJ0JHeWCbYTaO6d1ZZPPttyOS0NLM4HK7/hqDPvOb5YD7fYRv+bCp8 lB6Bm9JobTDBZrjMrYf1E0dSNw3UTjgAz8vmV7oZdLuHfOrb4XQyOcXrTyt2N1xEr/fD is0g== X-Gm-Message-State: AOAM5338BktLwO3q0kfl2VyCWXA1RGTqPzL9ryATji8rob8IcPKjm4pa mLeiWK7AMlL933pvxk13FvC9pL2KKyw= X-Google-Smtp-Source: ABdhPJytQA3uoowE7hLw7XcvqTHQ86IWRXvgsUEAJkiNNUPU/HP75uJlDo+X6mQFlIMndnxYWpLzLA== X-Received: by 2002:a19:4319:: with SMTP id q25mr842846lfa.353.1601019496103; Fri, 25 Sep 2020 00:38:16 -0700 (PDT) Return-Path: Received: from localhost ([95.165.9.116]) by smtp.gmail.com with ESMTPSA id x11sm1703916ljh.106.2020.09.25.00.38.15 for <9front@9front.org> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Sep 2020 00:38:15 -0700 (PDT) From: Peter Kosyh To: 9front@9front.org Subject: [PATCH] EeePC battery status Date: Fri, 25 Sep 2020 10:38:13 +0300 Message-ID: <8736362tne.fsf@factor-ts.ru> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" List-ID: <9front.9front.org> List-Help: X-Glyph: ➈ X-Bullshit: shared high-performance-based XML over HTTP rich-client hardware --=-=-= Content-Type: text/plain Hi all! Here is the patch to make my EeePC 1000px show battery status via aux/acpi. Hope it can be useful for someone. P.S. The main problem with EeePC running 9front is that network interfaces wifi/ethernet are not supported by 9front. I will try port them from some BSD, but i am not sure how long time it can take. :) --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=eeepc-battery.diff diff -r 5ca47d85e288 sys/src/cmd/aux/acpi.c --- a/sys/src/cmd/aux/acpi.c Mon Sep 21 11:43:31 2020 -0700 +++ b/sys/src/cmd/aux/acpi.c Fri Sep 25 10:16:52 2020 +0300 @@ -83,7 +83,39 @@ {{Qcputemp}, "cputemp", 0444, tmpread, nil}, {{Qctl}, "ctl", 0666, ctlread, ctlwrite}, }; +static char* +eisaid(void *v) +{ + static char id[8]; + ulong b, l; + int i; + if(amltag(v) == 's') + return v; + b = amlint(v); + for(l = 0, i=24; i>=0; i -= 8, b >>= 8) + l |= (b & 0xFF) << i; + id[7] = 0; + for(i=6; i>=3; i--, l >>= 4) + id[i] = "0123456789ABCDEF"[l & 0xF]; + for(i=2; i>=0; i--, l >>= 5) + id[i] = '@' + (l & 0x1F); + return id; +} +static int +enumec(void *dot, void *) +{ + void *p; + char *id; + id = eisaid(amlval(amlwalk(dot, "^_HID"))); + if (id == nil || strcmp(id, "PNP0C09") != 0) + return 1; + p = amlwalk(dot, "^_REG"); + if (p != nil) { + amleval(p, "ii", 0x3, 1, nil); + } + return 1; +} static int enumbat(void *dot, void *) { @@ -501,6 +533,7 @@ } close(fd); + amlenum(amlroot, "_HID", enumec, nil); amlenum(amlroot, "_BIF", enumbat, nil); amlenum(amlroot, "_PSL", enumtmp, nil); --=-=-=--