没有用过这种方式,也不清楚可行性,不过要计算偏移我觉得这样子不错,不容易出错,直接使用acpi编译器。
比如,- DefinitionBlock ("", "SSDT", 2, "hack", "batt", 0x00000000)
- {
- External (_SB_.PCI0.LPCB.EC__, DeviceObj) // (from opcode)
- Scope (\_SB.PCI0.LPCB.EC)
- {
- OperationRegion (XCF3, EmbeddedControl, Zero, 0xFF)
- Field (XCF3, ByteAcc, Lock, Preserve)
- {
- Offset (0x50),
- DR0T, 8,
- DR1T, 8,
- TPTP, 8,
- VGAT, 8,
- PCHT, 8,
- SYST, 8,
- SCPT, 8,
- CTMP, 8,
- FTMP, 7,
- Offset (0x5E),
- TMPC, 8,
- Offset (0x60),
- B1CH, 32,
- B2CH, 32,
- B1MO, 16,
- B2MO, 16,
- B1SN, 16
- }
- }
- }
复制代码 只保留不需要修改的- External (_SB_.PCI0.LPCB.EC__, DeviceObj) // (from opcode)
- Scope (\_SB.PCI0.LPCB.EC)
- {
- OperationRegion (XCF3, EmbeddedControl, Zero, 0xFF)
- Field (XCF3, ByteAcc, Lock, Preserve)
- {
- Offset (0x50),
- , 8,
- , 8,
- , 8,
- , 8,
- , 8,
- , 8,
- , 8,
- , 8,
- , 7,
- Offset (0x5E),
- , 8,
- Offset (0x60),
- , 32,
- , 32,
- , 16,
- B2MO, 16,
- B1SN, 16
- }
- }
复制代码 cm+Q再打开就有了- External (_SB_.PCI0.LPCB.EC__, DeviceObj) // (from opcode)
- Scope (\_SB.PCI0.LPCB.EC)
- {
- OperationRegion (XCF3, EmbeddedControl, Zero, 0xFF)
- Field (XCF3, ByteAcc, Lock, Preserve)
- {
- Offset (0x50),
- Offset (0x51),
- Offset (0x52),
- Offset (0x53),
- Offset (0x54),
- Offset (0x55),
- Offset (0x56),
- Offset (0x57),
- Offset (0x58),
- , 7,
- Offset (0x5E),
- Offset (0x5F),
- Offset (0x60),
- Offset (0x64),
- Offset (0x68),
- Offset (0x6A),
- B2MO, 16,
- B1SN, 16
- }
- }
复制代码 |