Compartilhar via


Compilador Microsoft ASL

A versão 5.0 do compilador ASL (Linguagem de origem da ACPI) da Microsoft é compatível com os recursos da Especificação de interface de energia e configuração avançada, revisão 5.0 (Especificação ACPI 5.0). O compilador ASL é distribuído com o WDK (Kit de drivers do Windows).

Baixar o Kit de Driver do Windows (WDK)

O compilador ASL (asl.exe) está localizado nos diretórios Tools\arm\ACPIVerify, Tools\arm64\ACPIVerify, Tools\x86\ACPIVerify e Tools\x64\ACPIVerify do WDK instalado, por exemplo, C:\Program Files (x86)\Windows Kits\10\Tools\<build #>\<build architecture>\ACPIVerify.

Você precisa primeiro instalar o SDK, seguido pelo WDK. Os números de compilação dos dois kits devem corresponder.

Opções de linha de comando

O compilador ASL é compatível com várias opções de linhas de comando. Para listar informações de versão e opções de linhas de comando disponíveis, execute o comando "asl /?" em uma janela de prompt de comando.

Uso do compilador ASL

O compilador ASL é compatível com seguintes opções de linhas de comando:

asl /?
asl [/nologo] /d <BinFile>
asl [/nologo] /u [/Fa=<ASMFile>] [/Fl=<LSTFile>] [/Fn=<NSDFile>] <AMLFile>
asl [/nologo] /tab=<TabSig> [/c] [/Fa=<ASMfile>] [/Fl=<LSTFile>] [/Fn=<NSDFile>]
asl [/nologo] [/Fo=<AMLFile>] [/Fa=<ASMFile>] [/Fl=<LSTFile>] [/Fn=<NSDFile>] <ASLFile>
Opção Descrição
? Imprimir esta mensagem de ajuda.
nologo Suprimir o banner do logotipo.
Fo=<AMLFile> Substituir o nome do arquivo AML no DefinitionBlock.
Fa=<ASMFile> Gerar um arquivo . ASM com o nome <ASMFile>.
Fn=<NSDFile> Gerar um arquivo de despejo de NameSpace com o nome <NSDFile>.
d Despeje o arquivo binário em forma de texto.
u Desmonte um arquivo AML em um arquivo . ASL (padrão) ou um arquivo . LST.
tab=<TabSig> Desmonte a tabela ASL em um arquivo . ASL (padrão) ou um arquivo . LST. Despeje a tabela não ASL em um arquivo .TXT. Se <TabSig> for '*', todas as tabelas serão despejadas em ACPI.TXT. <TabSig> também pode ser o endereço físico da tabela.
c Criar arquivos binários a partir de tabelas.

Usando o recurso de carregamento de tabela ACPI do compilador ASL da Microsoft

Durante o desenvolvimento do sistema, é útil ter uma maneira de simular vários construtos de BIOS ACPI e testá-los no sistema de desenvolvimento. O sistema operacional Windows permite que determinadas tabelas ACPI sejam carregadas do registro do Windows, e não da ROM do BIOS do computador. O uso desse recurso requer privilégios de administrador e também requer que a assinatura de teste esteja habilitada no sistema. Em sistemas compatíveis com a inicialização segura UEFI, a assinatura de teste não pode ser habilitada e o recurso de carregamento de tabela do compilador não pode ser usado, a menos que a inicialização segura UEFI esteja desabilitada ou a Política de depuração do Windows esteja instalada no sistema.

Para usar o recurso de carregamento de tabela, a tabela ACPI a ser sobrecarregada deve atender aos seguintes requisitos:

  • A tabela a ser sobrecarregada já deve estar presente na ROM do BIOS do sistema. Por exemplo, o DSDT pode estar sobrecarregado, nas, no entanto, se o computador não tiver um SSDT, você não poderá forçar um SSDT a ser carregado desse mecanismo de substituição do registro.

  • A tabela deve conter o código AML que normalmente é consumido pelo interpretador ACPI do Windows (o driver Acpi.sys).

  • A tabela com o número de versão mais alto é carregada. A tabela carregada no registro para teste deve ter um número de versão mais alto do que a mesma tabela na ROM do BIOS.

  • A tabela a ser carregada deve estar no formato compilado (AML) e carregada no registro no local correto, com os parâmetros corretos especificados. O mecanismo descrito foi projetado para lidar com todos os aspectos do carregamento da tabela e da configuração do registro.

Aviso

O processo descrito neste tópico pode deixar o sistema Windows em um estado não inicializável. Certifique-se de ter acesso a outro sistema operacional compatível com o sistema de arquivos NTFS (ou seja, uma "compilação segura") na mesma máquina, antes de tentar os procedimentos descritos aqui. Este processo é fornecido apenas para desenvolvedores e testadores de sistemas e NÃO deve ser usado em nenhuma máquina vital para fins de desenvolvimento ou de produção.

Uso de carregamento de tabela ACPI

Para carregar uma tabela ACPI no registro para fins de teste, o compilador ASL é invocado da seguinte maneira:

asl.exe /loadtable [-v] [-d] <AMLFile>

Onde AMLFile é o nome do arquivo AML compilado que contém a tabela que você deseja carregar no registro.

Opção Descrição
-v Modo detalhado. Ativa a saída de depuração extra do utilitário.
-d Delete. Remove um arquivo AML carregado anteriormente do registro e exclui todas as chaves do registro associadas.

Mais recursos