ACPI NameSpace

来源:互联网 发布:怎样在淘宝网开店铺 编辑:程序博客网 时间:2024/05/29 04:05

ACPI NameSpace(命名空间)

概念

ACPI NameSpace是存在于OS-Controlled内存中的,包含命名对象(Named Objects)的,一个分层的树状结构。

1、 这些Objects包含:data objects, control method objects, bus/device package objects, 等等。

2、ACPI NameSpace中所有的信息都来自于DSDT(Differentiated System Description Table)。DSDT中包含有Differentiated Definition Block, and one or more other definition blocks. Definition Block包含着硬件实现和配置的详细信息。

3、在Runtime阶段,OS通过loading and/or unloading ACPI Tables中的definition blocks来动态的改变NameSpace的内容。

4、OS枚举主板上的设备,就是通过读ACPI NameSpace来寻找包含有HardwareIDs的Devices。

5、每个ACPI列举的device在ACPI NameSpace中都有一个ACPI-defined Object,它报告了这个device能够占用的Hardware Resource。

6、ACPI主要用来列举和配置没有其他硬件规范的MB Devices。例如,ACPI不会列举主板上的PCI Devices,这些设备的Plug and Play信息就不会包含在ACPI NameSpace中,但是他们的Power Managed的信息和insertion/removal控制信息仍会存在于NameSpace中。

命名规则

1、固定长度为32bits

2、第一个Byte包含'A'-'Z','_'  (0x41-0x5A,0x31--0x39,0x5F)

3、剩下三个Byte包含含'A'-'Z','0'--'9','_' (0x41-0x5A,0x31--0x39 ,0x5F)

4、若不足四个字符,AML编译器会自动在末尾补‘_’

5、以‘_’开头的名字是为这份Spec中保留的,Defination Blocks只能使用以‘_’开头的名字

6、以‘\’开头,后接name,说明这个name参考the root of the namespace。

7、以‘^’开头,后接name,说明这个name参考the parent of current namespace。

预定义的Root Namespace

 

Pridefined Objects

 

System Configuration Object

_PIC Method

 

0 0
原创粉丝点击