Determinando Namespaces não na especificação ACPI

3

Eu estou tentando determinar como pode ser possível encontrar documentação para namespaces que não estão documentados na especificação ACPI. Eu tenho um Asus uEFI BIOS v (3202) e estou recebendo mensagens do kernel informando falhas de pesquisa de Namespace do AE para DSSP. Isso está se referindo a um namespace que não está na especificação ACPI. Estou presumindo que isso é específico do fornecedor e se refere a um processador de sinal do sensor digital. Isso é apenas uma presunção.

Em um esforço para corrigir os erros da ACPI, deixei meu DSDT usando o acpidump e decompilei-o usando o iASL. No entanto, para corrigir o erro, preciso saber as especificações do namespace.

Como posso obter acesso à documentação da BIOS que não faz parte da especificação da ACPI?

    
por Eddie B 13.06.2012 / 19:02

1 resposta

3

Como psusi disse, o BIOS é proprietário. Os vendedores são livres para dar qualquer significado que eles gostariam de nomear. Você deve olhar para o contexto para entender isso.

Acho que você está tentando corrigir erros como este:

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)

A origem da ACPI relacionada é:

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 parece um controlador SATA com o método _GTF (Get Task File) (consulte especificação ACPI v5 , seção 9.8.1.1, página 442). Portanto, os nomes provavelmente estão relacionados à terminologia relacionada a (S) ATA.

CMDC é inicializado para zero e é incrementado após cada chamada GTFB . SCBF é um buffer de tamanho 3 × 7 (= 21). GTFB define o campo de 7 bytes no índice CMDC como seu primeiro argumento e configura o byte CMDC + 1 de SCBF para o segundo argumento.

  • SCBF é provavelmente "SATA Command Buffer".
  • CMDC é provavelmente "Contador de comandos".
  • STFD , STFE é STF ativado / desativado, em que STF é um recurso / comandos SATA.
  • DSSP e FHPP parecem com alguns sinalizadores que controlam se STF está ativado ou desativado.
  • FZTF e DCFL são provavelmente alguns recursos / comandos SATA.

Esses recursos / comandos podem ser pesquisados na especificação SATA, eu acho (exercício para o leitor).

Uma nota final, de onde você costuma obter documentação? Dos criadores, certo? Talvez o código fonte de alguns BIOSes esteja disponível ...;)

    
por 27.06.2013 / 11:09

Tags