socho 发表于 2015-8-21 23:37

DSDT.aml中的Field保留字是什么意思

自己修改DSDT.aml文件的时候,经常见到Field保留字,这里不知道这个Field的作用是什么?等一和初始化变量吗,如何Field里面定义的变量和全局变量冲突,该怎么办。比如我的一段代码中在Field中定义的VDID,就和\_PR.RP02.VDID冲突了,提示名称已经存在,这怎么破?

Device (RP02)
            {
                Name (_ADR, 0x001C0001)
                OperationRegion (PXCS, PCI_Config, Zero, 0x0380)
                Field (PXCS, AnyAcc, NoLock, Preserve)
                {
                  VDID,   32,
                  Offset (0x50),
                  L0SE,   1,
                        ,   3,
                  LDIS,   1,
                  Offset (0x51),
                  Offset (0x52),
                        ,   13,
                  LASX,   1,
                  Offset (0x54),
                        ,   6,
                  HPCE,   1,
                  Offset (0x5A),
                  ABPX,   1,
                        ,   2,
                  PDCX,   1,
                        ,   2,
                  PDSX,   1,
                  Offset (0x5B),
                  Offset (0x60),
                  Offset (0x62),
                  PSPX,   1,
                  PMEP,   1,
                  Offset (0xA4),
                  D3HT,   2,
                  Offset (0xD8),
                        ,   30,
                  HPEX,   1,
                  PMEX,   1,
                  Offset (0xE2),
                        ,   2,
                  L23E,   1,
                  L23R,   1,
                  Offset (0x324),
                        ,   3,
                  LEDM,   1
                }
                Method (_STA, 0, NotSerialized)
                {
                  If (LEqual (VDID, 0xFFFFFFFF))
                  {
                        Return (Zero)
                  }
                  Else
                  {
                        Return (0x0F)
                  }
                }
}

lihuanzi2007 发表于 2015-8-23 11:30

如果你想把修改后的dsdt刷入bios,建议读ACPI,和芯片组文档。如果你只是用来引导黑苹果而不刷入BIOS随便改一下就可以用了。
最终的控制权在BIOS,而不是你所修改的DSDT。
页: [1]
查看完整版本: DSDT.aml中的Field保留字是什么意思