- 积分
- 3754
- 最后登录
- 2024-5-5
- 精华
- 0
- 阅读权限
- 70
- 主题
- 96
- UID
- 245936
- 帖子
- 3129
- PB币
- 1227
- 威望
- 417
- 贡献
- 0
- 技术
- 290
- 活跃
- 1627
- UID
- 245936
- 帖子
- 3129
- PB币
- 1227
- 贡献
- 0
- 技术
- 290
- 活跃
- 1627
|
沙发
发表于 2014-3-2 11:57:53
IP属地福建
|只看该作者
本帖最后由 gcafrk 于 2014-3-10 23:37 编辑
贴出完整修改过的T410的电池电量信息DSDT代码段。
先找到这段:
- Method (BATW, 1, NotSerialized)
- {
- Store (^BAT1.XB1S, Local0)
- If (LAnd (HB1A, LNot (SLUL)))
- {
- Store (One, Local1)
- }
- Else
- {
- Store (Zero, Local1)
- }
- If (XOr (Local0, Local1))
- {
- Store (Local1, ^BAT1.XB1S)
- Notify (BAT1, One)
- }
- }
复制代码
在这段之后,一直到Device (BAT0)之前,直接替换原先的代码:
- Field (ECOR, ByteAcc, NoLock, Preserve)
- {
- Offset (0xA0),
- BR1C, 8,
- BR2C, 8,
- BF1C, 8,
- BF2C, 8,
- SBAE, 16,
- SBRS, 16,
- BA1C, 8,
- BA2C, 8,
- SB1V, 8,
- SB2V, 8,
- SBAF, 16,
- SBBS, 16
- }
- Field (ECOR, ByteAcc, NoLock, Preserve)
- {
- Offset (0xA0),
- 15,
- SBCM, 1,
- SBMD, 16,
- SBCC, 16
- }
- Field (ECOR, ByteAcc, NoLock, Preserve)
- {
- Offset (0xA0),
- BD1C, 8,
- BD2C, 8,
- BD1V, 8,
- BD2V, 8,
- SBOM, 16,
- SBSI, 16,
- SBDT, 16,
- BS1N, 8,
- BS2N, 8
- }
- Field (ECOR, ByteAcc, NoLock, Preserve)
- {
- Offset (0xA0),
- SBCH, 32
- }
- Field (ECOR, ByteAcc, NoLock, Preserve)
- {
- Offset (0xA0),
- SBMN, 128
- }
- Field (ECOR, ByteAcc, NoLock, Preserve)
- {
- Offset (0xA0),
- SBDN, 128
- }
- Mutex (BATM, 0x07)
- Method (GBIF, 3, NotSerialized)
- {
- Acquire (BATM, 0xFFFF)
- If (Arg2)
- {
- Or (Arg0, One, HIID)
- Store (SBCM, Local7)
- XOr (Local7, One, Index (Arg1, Zero))
- Store (Arg0, HIID)
- If (Local7)
- {
- Multiply (B1B2 (BF1C, BF2C), 0x0A, Local1)
- }
- Else
- {
- Store (B1B2 (BF1C, BF2C), Local1)
- }
- Store (Local1, Index (Arg1, 0x02))
- Or (Arg0, 0x02, HIID)
- If (Local7)
- {
- Multiply (B1B2 (BD1C, BD2C), 0x0A, Local0)
- }
- Else
- {
- Store (B1B2 (BD1C, BD2C), Local0)
- }
- Store (Local0, Index (Arg1, One))
- Divide (Local1, 0x14, Local2, Index (Arg1, 0x05))
- If (Local7)
- {
- Store (0xC8, Index (Arg1, 0x06))
- }
- Else
- {
- If (B1B2 (BD1V, BD2V))
- {
- Divide (0x00030D40, B1B2 (BD1V, BD2V), Local2, Index (Arg1, 0x06))
- }
- Else
- {
- Store (Zero, Index (Arg1, 0x06))
- }
- }
- Store (B1B2 (BD1V, BD2V), Index (Arg1, 0x04))
- Store (B1B2 (BS1N, BS2N), Local0)
- Name (SERN, Buffer (0x06)
- {
- " "
- })
- Store (0x04, Local2)
- While (Local0)
- {
- Divide (Local0, 0x0A, Local1, Local0)
- Add (Local1, 0x30, Index (SERN, Local2))
- Decrement (Local2)
- }
- Store (SERN, Index (Arg1, 0x0A))
- Or (Arg0, 0x06, HIID)
- Store (SBDN, Index (Arg1, 0x09))
- Or (Arg0, 0x04, HIID)
- Name (BTYP, Buffer (0x05)
- {
- 0x00, 0x00, 0x00, 0x00, 0x00
- })
- Store (SBCH, BTYP)
- Store (BTYP, Index (Arg1, 0x0B))
- Or (Arg0, 0x05, HIID)
- Store (SBMN, Index (Arg1, 0x0C))
- }
- Else
- {
- Store (Ones, Index (Arg1, One))
- Store (Zero, Index (Arg1, 0x05))
- Store (Zero, Index (Arg1, 0x06))
- Store (Ones, Index (Arg1, 0x02))
- }
- Release (BATM)
- Return (Arg1)
- }
- Method (GBST, 4, NotSerialized)
- {
- Acquire (BATM, 0xFFFF)
- If (And (Arg1, 0x20))
- {
- Store (0x02, Local0)
- }
- Else
- {
- If (And (Arg1, 0x40))
- {
- Store (One, Local0)
- }
- Else
- {
- Store (Zero, Local0)
- }
- }
- If (And (Arg1, 0x0F)) {}
- Else
- {
- Or (Local0, 0x04, Local0)
- }
- If (LEqual (And (Arg1, 0x0F), 0x0F))
- {
- Store (0x04, Local0)
- Store (Zero, Local1)
- Store (Zero, Local2)
- Store (Zero, Local3)
- }
- Else
- {
- Store (Arg0, HIID)
- Store (B1B2 (SB1V, SB2V), Local3)
- If (Arg2)
- {
- Multiply (B1B2 (BR1C, BR2C), 0x0A, Local2)
- }
- Else
- {
- Store (B1B2 (BR1C, BR2C), Local2)
- }
- Store (B1B2 (BA1C, BA2C), Local1)
- If (LGreaterEqual (Local1, 0x8000))
- {
- If (And (Local0, One))
- {
- Subtract (0x00010000, Local1, Local1)
- }
- Else
- {
- Store (Zero, Local1)
- }
- }
- Else
- {
- If (LNot (And (Local0, 0x02)))
- {
- Store (Zero, Local1)
- }
- }
- If (Arg2)
- {
- Multiply (Local3, Local1, Local1)
- Divide (Local1, 0x03E8, Local7, Local1)
- }
- }
- Store (Local0, Index (Arg3, Zero))
- Store (Local1, Index (Arg3, One))
- Store (Local2, Index (Arg3, 0x02))
- Store (Local3, Index (Arg3, 0x03))
- Release (BATM)
- Return (Arg3)
- }
复制代码
|
|