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.
O ponteiro para a tabela ESRT é identificado através do seu GUID correspondente na EFI_CONFIGURATION_TABLE.
#define EFI_SYSTEM_RESOURCE_TABLE_GUID \
{ 0xb122a263, 0x3661, 0x4f68, 0x99, 0x29, 0x78, 0xf8, 0xb0, 0xd6, 0x21, 0x80 }
A tabela a seguir descreve o formato da tabela ESRT e as entradas de recurso de firmware contidas na tabela.
| Campo | Valor da matriz | Tamanho do byte | Deslocamento de bytes | Descrição |
|---|---|---|---|---|
| Contagem de recursos do Firmware | 4 | 0 | O número de entradas de recursos de firmware no ESRT. Não deve ser zero. | |
| Máximo de recursos de firmware | 4 | 4 | O número máximo de entradas de matriz de recursos que podem ser adicionadas sem realocar a tabela. Deve ser maior ou igual à Contagem de Recursos do Firmware. | |
| Versão do recurso firmware | oito | oito | A versão de entrada de recurso do firmware. Esse valor deve ser definido como 1 | |
| Matriz de Entrada de Recurso do Firmware | Entrada de Recurso do Firmware 0 | |||
| Classe de Firmware | 16 | 16 | Um GUID que identifica um componente de firmware que pode ser atualizado por meio da cápsula de atualização. Esse GUID será passado para o serviço de tempo de execução da cápsula de atualização UEFI como o parâmetro CapsuleGuid do cabeçalho da cápsula de atualização durante a atualização. | |
| Tipo de firmware | 4 | 32 | Um dos seguintes valores que identifica o tipo de recurso de firmware: 0: Desconhecido 1: Firmware do sistema 2: Firmware do dispositivo 3: Driver UEFI |
|
| Versão do Firmware | 4 | 36 | A versão atual do firmware, em que um número maior representa uma versão mais recente. O formato desse valor não está definido, mas deve incorporar números principais e menores da versão. O formato recomendado é que a primeira palavra represente a versão principal e a segunda a versão menor. | |
| Versão mais baixa do firmware com suporte | 4 | 40 | A versão de recurso de firmware mais baixa para a qual um recurso de firmware pode ser revertido para o sistema/dispositivo especificado. Se uma correção relacionada à segurança estiver disponível nesta versão de firmware, a versão menos compatível deverá ser igual à versão atual do firmware. | |
| Sinalizadores de cápsula | 4 | 44 | Sinalizadores que serão passados para o serviço de tempo de execução da cápsula de atualização UEFI nos bits 0 a 15 do campo Sinalizadores do cabeçalho da cápsula de atualização (o sistema operacional é responsável por configurar os bits 16 – 31 de Flags, conforme definido pela seção 7.5.3 da especificação UEFI). | |
| Última tentativa de versão | 4 | 48 | A última versão de firmware para a qual uma atualização foi tentada. Esse valor usa o mesmo formato que a Versão do Firmware. | |
| Status da última tentativa | 4 | 52 | Um dos seguintes valores que descreve o status da última tentativa de atualização de firmware: 0: Sucesso 1: Sem êxito 2: Recursos insuficientes 3: Versão incorreta 4: Formato de imagem inválido 5: Erro de autenticação 6: Evento de energia – AC não conectado 7: Evento de energia – Bateria insuficiente |
|
| ... | Entrada de Recurso do Firmware 1 |
O firmware UEFI principal deve alocar e preencher uma tabela de configuração ESRT contendo uma entrada de recurso do sistema para si mesmo (firmware do sistema). Para fins ilustrativos, neste guia, o firmware principal também criará uma entrada adicional representando um dispositivo que oferece suporte à atualização de firmware do dispositivo usando o mecanismo de pacote de atualização de firmware.
Sempre deve haver exatamente uma entrada que descreva o firmware do sistema. Essa entrada é usada para direcionar uma atualização de firmware do sistema. Se uma implementação executar atualizações de firmware do sistema e do dispositivo como uma única operação monolítica, a entrada de firmware do sistema deverá ser usada para direcionar a atualização. Em todos os outros casos, as atualizações de firmware do dispositivo são direcionadas por uma entrada ESRT que descreve o firmware do dispositivo.
A primeira etapa, então, é gerar GUIDs para representar esses dois recursos de firmware, ou seja, {SYSTEM_FIRMWARE} e {DEVICE_FIRMWARE}. A Tabela 2 mostra um exemplo de uma definição de tabela. Este exemplo pressupõe que ambas as versões de firmware sejam atualmente a versão 1 (Versão do Firmware == 1).
| Campo | Valor da matriz | Valor | Comentário |
|---|---|---|---|
| Contagem de recursos do Firmware | 2 | Esta tabela contém duas entradas de recurso de firmware. | |
| Máximo de recursos de firmware | 2 | Essa alocação de tabela contém espaço suficiente para descrever um máximo de dois recursos. | |
| Versão do recurso firmware | 1 | A versão de formato de entrada de recurso do firmware que esta tabela usa é 1. | |
| Matriz de Entrada de Recurso do Firmware | Entrada de recurso de firmware 0 | ||
| Classe de Firmware | (SYSTEM_FIRMWARE) | Esse GUID identifica o firmware do sistema para atualização via PnP. | |
| Tipo de firmware | 1 | O tipo de firmware do sistema é 1. | |
| Versão do Firmware | 1 | A versão atual do firmware do sistema é 1. | |
| Versão mais baixa do firmware com suporte | 1 | A versão mais baixa do firmware com suporte é 1, portanto, o firmware não pode ser revertido para uma versão anterior à versão 1. | |
| Sinalizadores de cápsula | 0 | O firmware do sistema não define nenhum sinalizador de atualização de cápsula privada. | |
| Última tentativa de versão | 1 | A última versão de firmware do sistema para a qual uma atualização foi tentada foi a versão 1. | |
| Status da última tentativa | 0 | A última tentativa de atualização de firmware do sistema foi bem-sucedida. | |
| Entrada de recurso de firmware 1 | |||
| Classe de Firmware | (FIRMWARE_DO_DISPOSITIVO) | Esse GUID identifica o firmware do dispositivo para atualização via PnP. | |
| Tipo de firmware | 2 | O tipo de firmware do dispositivo é 2. | |
| Versão do Firmware | 1 | A versão atual do firmware do dispositivo é 1. | |
| Versão mais baixa do firmware com suporte | 1 | A versão mais baixa do firmware com suporte é 1, portanto, o firmware não pode ser revertido para uma versão anterior à versão 1. | |
| Sinalizadores de cápsula | 0x8010 | O firmware do dispositivo define sinalizadores de atualização de cápsula privada (0x8010). | |
| Última tentativa de versão | 1 | A última versão do firmware do dispositivo para a qual uma atualização foi tentada é a versão 1 | |
| Status da última tentativa | 0 | A última tentativa de atualização de firmware do dispositivo foi bem-sucedida. |
O exemplo de ESRT acima é usado em outras partes desta documentação para guiar pelo processo de atualização de firmware e descrever a compatibilidade com o Windows para o processo de atualização, assim como uma implementação de firmware compatível.
Tópicos relacionados
Criando um pacote de driver de atualização
E/S do dispositivo do ambiente UEFI