我正在尝试确定如何找到 ACPI 规范中未记录的命名空间的文档。我有一台华硕 uEFI BIOS v(3202),我收到内核消息,指出 DSSP 的 AE 命名空间查找失败。这指的是 ACPI 规范中没有的命名空间。我假设这是供应商特定的,指的是数字传感器信号处理器。这只是一个假设。
为了纠正 ACPI 错误,我使用 acpidump 转储了我的 DSDT,然后使用 iASL 对其进行了反编译。但要修复错误,我需要知道命名空间的规范。
我如何才能访问不属于 ACPI 规范的 BIOS 文档?
答案1
正如 psusi 所说,BIOS 是专有的。供应商可以自由地赋予名称任何他们想要的含义。您应该查看上下文来理解它。
我猜你正在尝试修复这样的错误:
ACPI Error: [DSSP] Namespace lookup failure, AE_NOT_FOUND (20120320/psargs-359)
ACPI Error: Method parse/execution failed [\_SB_.PCI0.SAT0.SPT1._GTF] (Node ffff8805fd4b8b90), AE_NOT_FOUND (20120320/psparse-536)
相关的ACPI来源是:
Scope (\_SB.PCI0.SAT0)
{
// <snip>
Device (SPT1)
{
Name (_ADR, 0x0001FFFF) // _ADR: Address
Method (_GTF, 0, NotSerialized) // _GTF: Get Task File
{
Store (Zero, CMDC)
If (LOr (DSSP, FHPP))
{
GTFB (STFD, 0x06)
}
Else
{
GTFB (STFE, 0x06)
}
GTFB (FZTF, Zero)
GTFB (DCFL, Zero)
Return (SCBF)
}
}
\_SB.PCI0.SAT0.SPT1
看起来像一个 SATA 控制器,其_GTF
(获取任务文件) 方法(参见ACPI 规范 v5,第 9.8.1.1 节,第 442 页)。因此,这些名称可能与 (S)ATA 相关术语有关。
CMDC
初始化为零,并且在每次GTFB
调用后递增。SCBF
是一个长度为 3 × 7(=21)的缓冲区。GTFB
将索引处的 7 字节字段设置CMDC
为其第一个参数,并将的字节设置CMDC + 1
为SCBF
第二个参数。
SCBF
可能是“SATA 命令缓冲区”。CMDC
可能是“命令计数器”。STFD
,STFE
启用STF
/禁用其中STF
SATA 功能/命令。DSSP
看起来像一些控制是否启用或禁用的FHPP
标志。STF
FZTF
并且DCFL
可能有一些 SATA 功能/命令。
我猜这些功能/命令可以在 SATA 规范中查找(读者练习)。
最后要说的是,您通常从哪里获取文档?从创建者那里获取,对吗?也许某些 BIOS 的源代码可用... ;)