Date: Fri, 19 Mar 2010 04:30:48 +0100 From: Dan Lukes <dan@obluda.cz> To: Joerg Wunsch <joerg_wunsch@uriah.heep.sax.de> Cc: freebsd-acpi@freebsd.org Subject: Re: Funny battery values (nx6325) Message-ID: <4BA2EFE8.60004@obluda.cz> In-Reply-To: <20100318195312.GQ52442@uriah.heep.sax.de> References: <20100315062028.GC52442@uriah.heep.sax.de> <20100317070428.GA2924@server.vk2pj.dyndns.org> <20100317074549.GC52442@uriah.heep.sax.de> <1268829363.6171.13.camel@RabbitsDen> <20100318195312.GQ52442@uriah.heep.sax.de>
index | next in thread | previous in thread | raw e-mail
On 03/18/10 20:53, Joerg Wunsch:
> Is anybody able to hint me where the _BIF and _BST methods get their
> actual data from?
Method (_BIF, 0, NotSerialized)
{
Return (C1AC (0x00))
}
where 0x00 seems to be battery number.
The structure that will be returned is here:
Name (C1AF, Package (0x02)
{
Package (0x0D)
{
0x01,
0xFFFFFFFF,
0xFFFFFFFF,
0x01,
0xFFFFFFFF,
0x00,
0x00,
0x64,
0x64,
"Primary",
"100000",
"LIon",
"Hewlett-Packard"
},
And it's filled in C1AC() method. The Design/Last Full Capacity is
filled here:
Store (C164, Local0)
Store (Local0, Index (DerefOf (Index (C1AF, Arg0)), 0x01))
Store (Local0, Index (DerefOf (Index (C1AF, Arg0)), 0x02))
It mean that both numbers are same and come from C164 variable.
C164 variable is defined as 16bit variable on offset 0x8D of
EmbeddedController (_HID=PNP0C09) memory region.
So, now you know from where the Design/Last Full Capacity come from.
Unless you have improper BIOS (BIOS for other computer type/version)
then there seems not to be problem between ACPI and OS. You should ask
why independent embedded controller store such value to memory where the
OS is reading it. As far as I know, you can't debug the operations of
embedded controller, so you can imagine only why it store such values
here ...
Dan
home |
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4BA2EFE8.60004>
