ACPI 中的全局变量存储
Global variable storage in ACPI
ACPI 命名空间中的全局变量存储在 RAM 中的什么位置?该区域是否由 BIOS 保留?请参见下面的示例:
Scope (_SB.PC00.LPCB.XYZ_)
{
Device (ABCD)
{
Name (VAR1, "foo")
Method (BAR_)
{
VAR1 = "bar"
}
}
}
VAR1最终存储在哪里,因为我们没有为这个变量手动定义内存操作区域?
Where are the global variables in an ACPI namespace stored in RAM?
这取决于 AML 解释器和 OS。对于单体内核,ACPI 全局命名空间的任何索引(例如用于从其名称中查找对象的散列 table)、变量的元数据(名称、对象类型)和变量的值都可能最终都在内核堆(在由内核内存管理提供的某种 kmalloc()
分配的内存中)。
ACPI 命名空间中的全局变量存储在 RAM 中的什么位置?该区域是否由 BIOS 保留?请参见下面的示例:
Scope (_SB.PC00.LPCB.XYZ_)
{
Device (ABCD)
{
Name (VAR1, "foo")
Method (BAR_)
{
VAR1 = "bar"
}
}
}
VAR1最终存储在哪里,因为我们没有为这个变量手动定义内存操作区域?
Where are the global variables in an ACPI namespace stored in RAM?
这取决于 AML 解释器和 OS。对于单体内核,ACPI 全局命名空间的任何索引(例如用于从其名称中查找对象的散列 table)、变量的元数据(名称、对象类型)和变量的值都可能最终都在内核堆(在由内核内存管理提供的某种 kmalloc()
分配的内存中)。