Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A implementação da especificação de hardware acpi (configuração avançada e interface de energia) não é necessária em plataformas baseadas em SoC, mas grande parte da Especificação de Software ACPI é (ou pode ser) necessária. A ACPI define um mecanismo genérico e extensível de passagem de tabela, além de tabelas específicas para descrever a plataforma para o sistema operacional.
Estruturas e cabeçalhos de tabela, incluindo ID e campos de soma de verificação, são definidos na especificação ACPI 5.0. O Windows utiliza esse mecanismo de passagem de tabela, além das tabelas específicas descritas neste artigo.
A ideia por trás dessas tabelas é habilitar o software genérico para dar suporte a blocos de IP (propriedade intelectual) padrão que podem ser integrados a várias plataformas de diversas maneiras. Com a estratégia de tabela, os atributos de plataforma variável de uma determinada plataforma são fornecidos em uma tabela e usados por software genérico para se adaptar ao conjunto específico de blocos IP integrados à plataforma. Portanto, esse software pode ser gravado uma vez, testado minuciosamente e, em seguida, otimizado ao longo do tempo.
Ponteiro de descrição do sistema raiz (RSDP)
O Windows depende do firmware UEFI para inicializar a plataforma de hardware. Portanto, o Windows usará a tabela do sistema EFI para localizar o RSDP, conforme descrito na seção 5.2.5.2, "Localizando o RSDP em sistemas habilitados para UEFI", da especificação ACPI 5.0. O firmware da plataforma preenche o endereço do RSDT ou do XSDT no RSDP. (Se ambos os endereços de tabela forem fornecidos, o Windows preferirá o XSDT.)
Tabela de descrição do sistema raiz (RSDT)
O RSDT (ou XSDT) inclui ponteiros para quaisquer outras tabelas de descrição do sistema fornecidas na plataforma. Especificamente, esta tabela contém ponteiros para as seguintes tabelas:
Tabela de Hardware Fixa ACPI (FADT)
A tabela de controlador de interrupção múltipla (MADT)
Opcionalmente, a Tabela de Recursos do Sistema Principal (CSRT)
A tabela de porta de depuração 2 (DBG2)
A Tabela de Recursos Gráficos de Inicialização (BGRT)
Tabela de Dados de Desempenho de Firmware (FPDT)
A tabela de descrição do sistema base (DSDT)
Opcionalmente, tabelas de descrição do sistema adicionais (SSDT)
Tabela de descrição de ACPI fixa (FADT)
A Tabela de Hardware de ACPI fixa (FADT) contém informações importantes sobre os vários recursos de hardware fixo disponíveis na plataforma. Para dar suporte a plataformas ACPI reduzidas por hardware, o ACPI 5.0 estende a definição da tabela FADT da seguinte maneira:
O campo Sinalizadores dentro do FADT (deslocamento 112) tem dois novos sinalizadores:
HARDWARE_REDUCED_ACPI Deslocamento de bit 20. Indica que o hardware ACPI não está disponível nesta plataforma. Esse sinalizador deverá ser definido se o modelo de programação de hardware fixo do ACPI não for implementado.
LOW_POWER_S0_IDLE_CAPABLE Deslocamento de bits 21. Indica que a plataforma dá suporte a estados de inatividade de baixa potência dentro do estado de energia do sistema ACPI S0 que são mais eficientes em energia do que qualquer estado de suspensão Sx. Se esse sinalizador estiver definido, o Windows não tentará dormir e retomar, mas usará estados ociosos da plataforma e conectados em espera.
O campo Preferred_PM_Profile FADT (deslocamento de bytes 45) tem uma nova entrada de função, "Tablet". Essa função influencia a política de gerenciamento de energia para exibição e entrada e afeta a exibição de teclados na tela.
O campo "IA-PC Sinalizadores de Arquitetura de Inicialização" (deslocamento 109) tem um novo sinalizador "CMOS RTC Not Present" (deslocamento de bit 5) para indicar que o CMOS RTC do PC não foi implementado ou não existe nos endereços legados. Se esse sinalizador estiver definido, a plataforma deverá implementar o dispositivo de Método de Controle de Tempo e Alarme do ACPI. Para obter mais informações, consulte a seção Tempo e Alarme do Método de Controle no artigo Dispositivos Definidos pela ACPI.
Novos campos são adicionados para dar suporte à suspensão/retomada do computador tradicional em plataformas ACPI com redução de hardware. Esses campos são ignorados pelo Windows, mas devem estar presentes na tabela para conformidade.
Se o sinalizador de HARDWARE_REDUCED_ACPI estiver definido, todos os campos relacionados à Especificação de Hardware do ACPI serão ignorados pelo sistema operacional.
Todas as outras configurações FADT mantêm seus significados da versão anterior, ACPI 4.0. Para obter mais informações, consulte a seção 5.2.9, "Tabela de Descrição de ACPI Fixa (FADT)", da especificação ACPI 5.0.
Tabela de descrição de várias APIC (MADT)
Nas implementações de PC do ACPI, a Tabela de Descrição de Várias APICs (MADT) e descritores específicos do controlador de interrupção do computador são usados para descrever o modelo de interrupção do sistema. Para plataformas SoC baseadas em Arm, o ACPI 5.0 adiciona descritores para o Controlador de Interrupção Genérico (GIC) da Arm Holdings e o Distribuidor GIC. O Windows inclui suporte à caixa de entrada para o GIC e o Distribuidor GIC. Para obter mais informações sobre esses descritores, consulte as seções 5.2.12.14, "Estrutura GIC" e 5.2.12.15, "Estrutura do Distribuidor GIC", da especificação ACPI 5.0.
As estruturas do descritor do controlador de interrupção são listadas imediatamente após o campo Sinalizadores no MADT. Para plataformas Arm, um descritor é listado para cada GIC, seguido por um para cada GIC Distribuidor. O GIC correspondente ao processador de inicialização deve ser a primeira entrada na lista de descritores do controlador de interrupção.
Tabela de descrição do temporizador genérico (GTDT)
Assim como acontece com o controlador de interrupção, há uma tabela de descrição do temporizador padrão no ACPI. Para sistemas arm que utilizam o temporizador GIT, o GTDT da ACPI pode ser usado para aproveitar o suporte interno para o GIT no Windows.
Tabela de Recursos do Sistema Principal (CSRT)
Os Principais Recursos do Sistema (CSRs) são funções de hardware compartilhadas, como controladores de interrupção, temporizadores e controladores DMA para os quais o sistema operacional deve serializar o acesso. Onde existem padrões do setor para recursos como temporizadores e controladores de interrupção (em arquiteturas x86 e Arm), o Windows cria suporte para esses recursos com base nas tabelas padrão descritas no ACPI (por exemplo, MADT e GTDT). No entanto, até que o setor converga nos padrões de interface do controlador DMA, há a necessidade de dar suporte a alguns dispositivos não padrão no sistema operacional.
O Windows dá suporte ao conceito de extensões HAL para resolver esse problema. As extensões HAL são módulos específicos de SoC, implementados como DLLs, que adaptam o HAL do Windows a uma interface de hardware específica de uma classe específica de CSR exigida pelo Windows. Para identificar e carregar esses módulos CSR não padrão, a Microsoft definiu uma nova tabela ACPI. Se forem utilizadas CSRs não padrão na plataforma, esta tabela, que tem um identificador reservado de "CSRT" na especificação ACPI, deve ser incluída no RSDT.
O CSRT descreve grupos de recursos de CSRs, em que cada grupo de recursos identifica o hardware de um tipo específico. O Windows usa o identificador fornecido para o grupo de recursos localizar e carregar a extensão HAL necessária para esse grupo. Os grupos de recursos dentro do CSRT também podem conter descritores de recursos individuais, dependendo do tipo CSR e das necessidades da extensão HAL. O formato e o uso desses descritores de recursos são definidos pelo gravador de extensão HAL, que pode tornar a extensão muito mais portátil e, assim, dar suporte a várias plataformas SoC diferentes simplesmente alterando os descritores de recursos contidos no CSRT.
Para dar suporte à manutenção de extensões HAL e gerenciar os recursos do sistema usados por essas extensões, cada grupo de recursos descrito no CSRT também deve ser representado como um dispositivo dentro do namespace ACPI da plataforma. Para obter mais informações, consulte a seção "Tabela de Descrição do Sistema Diferenciada (DSDT)". Os identificadores de dispositivo usados no cabeçalho do grupo de recursos devem corresponder aos identificadores usados no nó do namespace do dispositivo. Para obter mais informações, consulte a seção Identificação de Dispositivo na ACPI no artigo objetos de namespace de gerenciamento de dispositivos . A existência desses dispositivos de namespace do grupo de recursos permite que a extensão HAL seja atendida pelo Serviço de Atualização do Windows.
Para obter mais informações, consulte a especificação CSRT (Core System Resources Table).
Porta de depuração Tabela 2 (DBG2)
A Microsoft requer uma porta de depuração em todos os sistemas. Para descrever a(s) porta(s) de depuração integradas em uma plataforma, a Microsoft define a Tabela de Porta de Depuração 2 (DBG2) para ACPI. Esta tabela especifica uma ou mais portas independentes para fins de depuração. A presença da tabela DBG2 indica que a plataforma inclui pelo menos uma porta de depuração. Esta tabela inclui informações sobre a identidade e a configuração das portas de depuração. A tabela está localizada na memória do sistema com outras tabelas ACPI e deve ser referenciada na tabela ACPI RSDT.
O Windows usa o valor de Tipo de Porta na tabela DBG2 para identificar e carregar o transporte do Depurador de Kernel (KD) (por exemplo, USB ou serial) exigido pelo sistema. Em seguida, o transporte KD usa o valor de Subtipo de porta na tabela DBG2 para identificar a interface de hardware usada pela porta. Outras informações na tabela DBG2 especificam o endereço de sistema dos registros de porta, utilizado pelo módulo de interface de hardware para o subtipo especificado. Por fim, a tabela DBG2 deve incluir uma referência ao nó do dispositivo no namespace ACPI que corresponde à porta de depuração. Essa referência permite que o Windows gerencie conflitos entre o uso de depuração e o uso normal do dispositivo, se houver, e também integre o depurador com transições de energia.
Para obter mais informações, consulte a especificação da Tabela de Porta de Depuração da Microsoft 2 (DBG2).
Tabela de descrição diferenciada do sistema (DSDT)
No ACPI, os dispositivos periféricos e os recursos de hardware do sistema na plataforma são descritos na DSDT (Tabela de Descrição do Sistema Diferenciado), que é carregada na inicialização ou em SSDTs (Tabelas de Descrição do Sistema Secundário), que são carregadas na inicialização ou carregadas dinamicamente no tempo de execução. Para SoCs, a configuração da plataforma normalmente é estática, portanto, o DSDT pode ser suficiente, embora os SSDTs também possam ser usados para melhorar a modularidade da descrição da plataforma.
A ACPI define uma linguagem interpretada (linguagem de origem ACPI ou ASL) e um ambiente de execução (máquina virtual ACPI) para descrever dispositivos e recursos do sistema e seus controles específicos da plataforma, de maneira independente do sistema operacional. O ASL é usado para definir objetos nomeados no namespace ACPI e o compilador do Microsoft ASL é usado para produzir código de byte de linguagem de computador ACPI (AML) para transmissão para o sistema operacional no DSDT. O driver ACPI do Windows nativo, Acpi.sys, implementa a máquina virtual ACPI e interpreta o bytecode AML. Um objeto AML pode simplesmente retornar informações de descrição. Ou um objeto AML pode ser um método que executa a computação ou operações de E/S. Um método de controle é um objeto AML executável que usa os drivers de dispositivo do sistema operacional para fazer operações de E/S no hardware da plataforma. O ASL usa OpRegions para abstrair os vários espaços de endereço acessíveis no sistema operacional. Os métodos de controle executam operações de E/S como uma série de transferências de e para campos nomeados declarados em OpRegions.
Para obter mais informações sobre OpRegions, consulte a seção 5.5.2.4, "Access to Operation Regions", na especificação ACPI 5.0. Para obter mais informações sobre ASL e métodos de controle, consulte a seção 5.5, "Namespace ACPI", na especificação ACPI 5.0.
O Windows fornece suporte para desenvolver e depurar código ASL. O compilador ASL inclui um desassemblador para permitir que o desenvolvedor carregue um "namespace" de um destino de depuração. Em seguida, o compilador ASL pode ser usado para reaplicar o namespace ao destino para criação rápida de protótipos e testes, sem precisar exibir o firmware do sistema. Além disso, o Depurador do Kernel do Windows, em conjunto com uma versão verificada (CHK) do driver Acpi.sys, dá suporte ao rastreamento e à análise da execução de AML. Para obter mais informações, consulte o depurador AMLI.
Tabela de Mitigações de Segurança do SMM do Windows (WSMT)
A especificação WSMT (Tabela de Mitigações de Segurança) do Windows SMM contém detalhes de uma tabela ACPI (Advanced Configuration and Power Interface) criada para uso com sistemas operacionais Windows que dão suporte a recursos de VBS (segurança baseada em virtualização) do Windows.
Essas informações se aplicam aos seguintes sistemas operacionais:
Windows Server 2016
Windows 10, versão 1607
Para obter mais informações, consulte a especificação WSMT (Tabela de Mitigações de Segurança do Windows SMM) (download do DOCX).
Tabela de firmware de inicialização iSCSI (iBFT)
A tabela iBF (iSCSI Boot Firmware) (iBFT) é um bloco de informações que contém vários parâmetros que são úteis para o processo de inicialização iSCSI. O iBFT é o mecanismo pelo qual os valores de parâmetro iBF são transmitidos para o sistema operacional. O iBF constrói e preenche o iBFT. O iBFT está disponível para o sistema operacional Windows para habilitar um fluxo consistente do processo de inicialização.
Para obter mais informações, consulte a especificação iBFT (tabela de firmware de inicialização iSCSI) (download docx).