确定不在 ACPI 规范中的命名空间

确定不在 ACPI 规范中的命名空间

我正在尝试确定如何找到 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 + 1SCBF第二个参数。

  • SCBF可能是“SATA 命令缓冲区”。
  • CMDC可能是“命令计数器”。
  • STFDSTFE启用STF/禁用其中STFSATA 功能/命令。
  • DSSP看起来像一些控制是否启用或禁用的FHPP标志。STF
  • FZTF并且DCFL可能有一些 SATA 功能/命令。

我猜这些功能/命令可以在 SATA 规范中查找(读者练习)。

最后要说的是,您通常从哪里获取文档?从创建者那里获取,对吗?也许某些 BIOS 的源代码可用... ;)

相关内容