19.6.114. Register(通用寄存器资源描述符宏)
语法 :
Register (AddressSpaceKeyword, RegisterBitWidth, RegisterBitOffset, RegisterAddress, AccessSize, DescriptorName)
参数
AddressSpaceKeyword 指定寄存器所在的地址空间。寄存器可以是以下之一:
I/O 空间(SystemIO)
系统内存(SystemMemory)
PCI 配置空间(PCI_Config)
嵌入式控制器空间(EmbeddedControl)
SMBus(SMBus)
CMOS(SystemCMOS)
PCI Bar 目标(PciBarTarget)
IPMI(IPMI)
通用 I/O(GeneralPurposeIO)
通用串行总线(GenericSerialBus)
平台通信通道(PCC)
固定功能硬件(FFixedHW)
会自动创建 8 位字段 DescriptorName._ASI,以引用资源描述符的这一部分。有关更多信息,包括有效值列表及其含义,请参见 表:通用寄存器描述符定义 中的地址空间 ID 定义。
RegisterBitWidth 求值为一个 8 位整数,用于指定寄存器中的位数。会自动创建 8 位字段 DescriptorName._RBW,以引用资源描述符的这一部分。有关更多信息,请参见 表:通用寄存器描述符定义 中的 _RBW 定义。
RegisterBitOffset 求值为一个 8 位整数,用于指定相对于 RegisterAddress 所指示寄存器起始处的位偏移。会自动创建 8 位字段 DescriptorName._RBO,以引用资源描述符的这一部分。有关更多信息,请参见 表:通用寄存器描述符定义 中的 _RBO 定义。
RegisterAddress 求值为一个 64 位整数,用于指定寄存器地址。会自动创建 64 位字段 DescriptorName._ADR,以引用资源描述符的这一部分。有关更多信息,请参见 表:通用寄存器描述符定义 中的 _ADR 定义。
AccessSize 求值为一个 8 位整数,用于指定访问地址空间时所使用的数据值大小,如下所示:
0 - Undefined (legacy)
1 - Byte access
2 - Word access
3 - DWord access
4 - QWord access
会自动创建 8 位字段 DescriptorName._ASZ,以引用资源描述符的这一部分。有关更多信息,请参见 通用寄存器资源描述符 中的 _ASZ 定义。为了向后兼容,在调用 Register 宏时,AccesSize 参数是可选的。如果未提供 AccessSize 参数,则 AccessSize 字段将被设置为零。在这种情况下,OSPM 将假定访问大小。
DescriptorName 是一个可选参数,用于指定一个整数常量的名称。该常量将在当前作用域中创建,并包含此资源描述符在当前资源模板缓冲区内的偏移量。可以将预定义的描述符字段名附加到此名称后,以通过 Buffer Field 运算符访问描述符中的各个字段。
说明
Register 宏求值为一个缓冲区,其中包含一个通用寄存器资源描述符。有关该缓冲区的格式,请参见第 19.6.114 节。此宏设计用于 ResourceTemplate(资源到缓冲区转换宏)内部。