Determining Namespaces Not in the ACPI Spec

3

1

I am trying to determine how it may be possible to find documentation for namespaces that are not documented in the ACPI spec. I have an Asus uEFI BIOS v(3202) and I'm receiving kernel messages stating AE Namespace lookup failures for DSSP. This is referring to a namespace that is not in the ACPI spec. I'm presuming that this is vendor specific and refers to a Digital Sensor Signal Processor. That is only a presumption.

In an effort to correct ACPI errors I have dumped my DSDT using acpidump and then decompiled it using iASL. Yet to fix the error I need to know the spec on the namespace.

How can I get access to the BIOS documentation that isn't part of the ACPI spec?

Eddie B

Posted 2012-06-13T17:02:16.757

Reputation: 909

If it's proprietary, then you can't. – psusi – 2012-06-13T18:01:15.817

Answers

3

As psusi said, the BIOS is proprietary. Vendors are free to give whatever meaning they would like to names. You should look at the context to make sense of it.

I guess you are trying to fix errors like this one:

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)

The related ACPI source is:

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 looks like a SATA controller with its _GTF (Get Task File) method (see ACPI spec v5, section 9.8.1.1, page 442). Therefore, the names are likely related to (S)ATA-related terminology.

CMDC is initialised to zero ands gets incremented after each GTFB call. SCBF is a buffer of length 3 × 7 (=21). GTFB sets the 7-byte field at index CMDC to its first argument and sets byte CMDC + 1 of SCBF to the second argument.

  • SCBF is probably "SATA Command Buffer".
  • CMDC is probably "Command Counter".
  • STFD, STFE is STF enabled/disabled where STF is an SATA feature/commands.
  • DSSP and FHPP look like some flags that control whether STF is enabled or disabled.
  • FZTF and DCFL are probably some SATA features/commands.

Those features/commands can be looked up in the SATA specification I guess (exercise for the reader).

One final note, where do you usually get documentation from? From the creators, right? Perhaps source code of some BIOSes are available... ;)

Lekensteyn

Posted 2012-06-13T17:02:16.757

Reputation: 5 236

+1 for a great explanation ... I've not been able to retrieve APCI lookup data for ASUS or any of the support boards ... TY Lekensteyn for the helpful answer ... – Eddie B – 2013-06-27T09:26:30.740