- 积分
- 178
- 最后登录
- 2020-3-21
- 精华
- 0
- 阅读权限
- 20
- 主题
- 44
- UID
- 1221694
- 帖子
- 370
- PB币
- 1273
- 威望
- 5
- 贡献
- 0
- 技术
- 38
- 活跃
- 935
- UID
- 1221694
- 帖子
- 370
- PB币
- 1273
- 贡献
- 0
- 技术
- 38
- 活跃
- 935
|
本帖最后由 460990832 于 2014-2-17 00:08 编辑
按照daxuexinsheng大神的实现电量显示的一般方法,一步一步往下做,发现我的dsdt中有两个电池BAT1 BAT2 ,在 [size=10.000000pt]Method (_BIF, 0, NotSerialized) 中,发现最后return到PBIF,搜索后未找到Method(PBIF),只有UPBI,在UPBI中并没有找到Store 和 Multiply 的括号里,像 SBCM 这样的作用名,我试着搜索了一下,并没有发现16位的,好像只有4位的,不知道该怎么做下去了,,,,
- Signature "DSDT"
- * Length 0x0000C3DA (50138)
- * Revision 0x02
- * Checksum 0xD6
- * OEM ID "LENOVO"
- * OEM Table ID "CB-01 "
- * OEM Revision 0x06040000 (100925440)
- * Compiler ID "INTL"
- * Compiler Version 0x20101013 (537923603)
复制代码- Method (UPBI, 0, NotSerialized)
- {
- Store (^^PCI0.LPCB.EC0.B1FC, Index (PBIF, 0x02))
- Store (0x1FFF, Local2)
- ^^PCI0.LPCB.EC0.SMWR (0x08, 0x14, One, Local2)
- ^^PCI0.LPCB.EC0.SMRD (0x09, 0x14, One, RefOf (Local3))
- If (LEqual (Local2, Or (Local3, 0x0FFF)))
- {
- If (LNot (^^PCI0.LPCB.EC0.SMRD (0x09, 0x16, 0x18, RefOf (Local1))))
- {
- Store (Local1, Index (PBIF, One))
- Store (Divide (Local1, 0x0A, ), Index (PBIF, 0x05))
- Store (Divide (Multiply (Local1, 0x03), 0x64, ), Index (
- PBIF, 0x06))
- }
- If (LNot (^^PCI0.LPCB.EC0.SMRD (0x09, 0x16, 0x19, RefOf (Local1))))
- {
- Store (Local1, Index (PBIF, 0x04))
- }
- If (LNot (^^PCI0.LPCB.EC0.MBUD))
- {
- PHSR (0x8A)
- Store (BATI, Index (PBIF, 0x09))
- }
- If (LNot (^^PCI0.LPCB.EC0.MBUD))
- {
- PHSR (0x83)
- Store (BATI, Index (PBIF, 0x0C))
- Store (One, ^^PCI0.LPCB.EC0.MBUD)
- }
- }
- Store ("LION", Index (PBIF, 0x0B))
- Store (One, Index (PBIF, Zero))
- }
复制代码
求大神指点。。。。。。
附上dsdt。。。。
dsdt 2.aml.zip
(19.84 KB, 下载次数: 6)
|
|