Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Le pointeur vers la table ESRT est identifié via son GUID correspondant dans la EFI_CONFIGURATION_TABLE.
#define EFI_SYSTEM_RESOURCE_TABLE_GUID \
{ 0xb122a263, 0x3661, 0x4f68, 0x99, 0x29, 0x78, 0xf8, 0xb0, 0xd6, 0x21, 0x80 }
Le tableau suivant décrit le format de la table ESRT et les entrées de ressource de microprogramme contenues dans le tableau.
| Terrain | Valeur de tableau | Longueur d’octet | Décalage d’octet | Descriptif |
|---|---|---|---|---|
| Nombre de ressources du firmware | 4 | 0 | Nombre d’entrées de ressource de microprogramme dans ESRT. Ne doit pas être zéro. | |
| Limite maximale des ressources du microprogramme | 4 | 4 | Nombre maximal d’entrées de tableau de ressources qui peuvent être ajoutées sans réaffecter la table. Doit être supérieur ou égal au nombre de ressources du microprogramme. | |
| Version de ressource du microprogramme | 8 | 8 | Version d’entrée de ressource du microprogramme. Cette valeur doit être définie sur 1 | |
| Tableau d’entrée de ressource du microprogramme | Entrée de ressource du firmware 0 | |||
| Classe firmware | 16 | 16 | GUID qui identifie un composant de microprogramme qui peut être mis à jour via la capsule de mise à jour. Ce GUID sera transmis au service d’exécution de la capsule de mise à jour UEFI en tant que paramètre CapsuleGuid de l’en-tête de la capsule de mise à jour lors de la mise à jour. | |
| Type de microprogramme | 4 | 32 | Une des valeurs suivantes qui identifie le type de ressource de microprogramme : 0 : Inconnu 1 : Microprogramme du système 2 : Microprogramme de l’appareil 3 : Pilote UEFI |
|
| Version du microprogramme | 4 | 36 | Version actuelle du microprogramme, où un nombre plus élevé indique une version plus récente. Le format de cette valeur n’est pas défini, mais doit incorporer des nombres principaux et secondaires de version. Le format recommandé est que le premier nombre représente la version majeure et le deuxième représente la version mineure. | |
| Version du microprogramme la plus faible prise en charge | 4 | 40 | Version de ressource de microprogramme la plus basse à laquelle une ressource de microprogramme peut être restaurée pour le système/l’appareil donné. Si un correctif lié à la sécurité est disponible dans cette version du microprogramme, la version la moins compatible doit être égale à la version actuelle du microprogramme. | |
| Indicateurs de capsule | 4 | 44 | Indicateurs qui seront transmis dans le service d’exécution de la capsule de mise à jour UEFI dans les bits 0 à 15 du champ Indicateurs de l’en-tête de la capsule de mise à jour (le système d’exploitation est chargé de configurer les bits 16 – 31 des indicateurs comme défini par la section 7.5.3 de la spécification UEFI). | |
| Version de la dernière tentative | 4 | 48 | Dernière version du microprogramme pour laquelle une mise à jour a été tentée. Cette valeur utilise le même format que la version du microprogramme. | |
| État de la dernière tentative | 4 | 52 | Une des valeurs suivantes qui décrit l’état de la dernière tentative de mise à jour du microprogramme : 0 : Réussite 1 : Échec 2 : Ressources insuffisantes 3 : Version incorrecte 4 : Format d’image non valide 5 : Erreur d’authentification 6 : Événement d'alimentation - AC non connecté 7 : Événement d’alimentation - Batterie insuffisante |
|
| ... | Entrée de ressource du microprogramme 1 |
Le microprogramme UEFI principal doit allouer et remplir une table de configuration ESRT contenant une entrée de ressource système pour elle-même (microprogramme système). À des fins d’illustration, dans ce guide, le microprogramme principal crée également une entrée supplémentaire représentant un appareil qui prend en charge la mise à jour du microprogramme d’appareil à l’aide du mécanisme de package de mise à jour du microprogramme.
Il doit toujours y avoir exactement une entrée décrivant le microprogramme système. Cette entrée est utilisée pour cibler une mise à jour du microprogramme système. Si une implémentation effectue des mises à jour de microprogramme système et d’appareil sous la forme d’une opération monolithique unique, l’entrée du microprogramme système doit être utilisée pour cibler la mise à jour. Dans tous les autres cas, les mises à jour du microprogramme d’appareil sont ciblées par une entrée ESRT décrivant le microprogramme de l’appareil.
La première étape consiste ensuite à générer des GUID pour représenter ces deux ressources de microprogramme, c’est-à-dire {SYSTEM_FIRMWARE} et {DEVICE_FIRMWARE}. Le tableau 2 montre un exemple de définition de table. Cet exemple suppose que les deux versions du microprogramme sont actuellement version 1 (Version du microprogramme == 1).
| Terrain | Valeur de tableau | Valeur | Commentaire |
|---|---|---|---|
| Nombre de ressources du firmware | 2 | Ce tableau contient deux entrées de ressource de microprogramme. | |
| Limite maximale des ressources du microprogramme | 2 | Cette allocation de table contient suffisamment d’espace pour décrire un maximum de deux ressources. | |
| Version de ressource du microprogramme | 1 | La version du format d’entrée de ressource du microprogramme utilisée par ce tableau est 1. | |
| Tableau d’entrée de ressource du microprogramme | Entrée de ressource du microprogramme 0 | ||
| Classe firmware | (SYSTEM_FIRMWARE) | Ce GUID identifie le microprogramme système pour la mise à jour via PnP. | |
| Type de microprogramme | 1 | Le type de microprogramme système est 1. | |
| Version du microprogramme | 1 | La version actuelle du microprogramme système est 1. | |
| Version du microprogramme la plus faible prise en charge | 1 | La version de microprogramme la plus faible prise en charge est 1. Le microprogramme ne peut donc pas être restauré vers une version antérieure à la version 1. | |
| Indicateurs de capsule | 0 | Le microprogramme système ne définit aucun indicateur de mise à jour de capsule privée. | |
| Version de la dernière tentative | 1 | La dernière version du microprogramme système pour laquelle une mise à jour a été tentée était la version 1. | |
| État de la dernière tentative | 0 | La dernière tentative de mise à jour du microprogramme système a réussi. | |
| Entrée de ressource du microprogramme 1 | |||
| Classe firmware | (DEVICE_FIRMWARE) | Ce GUID identifie le microprogramme de l’appareil pour la mise à jour via PnP. | |
| Type de microprogramme | 2 | Le type de microprogramme de l’appareil est 2. | |
| Version du microprogramme | 1 | La version actuelle du microprogramme de l’appareil est 1. | |
| Version du microprogramme la plus faible prise en charge | 1 | La version de microprogramme la plus faible prise en charge est 1. Le microprogramme ne peut donc pas être restauré vers une version antérieure à la version 1. | |
| Indicateurs de capsule | 0x8010 | Le microprogramme de l’appareil définit des indicateurs de mise à jour de capsule privée (0x8010). | |
| Version de la dernière tentative | 1 | La dernière version du microprogramme de l’appareil pour laquelle une mise à jour a été tentée est la version 1 | |
| État de la dernière tentative | 0 | La dernière tentative de mise à jour du microprogramme de l’appareil a réussi. |
L’exemple ESRT ci-dessus est utilisé ailleurs dans cette documentation pour parcourir le processus de mise à jour du microprogramme et décrire la prise en charge de Windows pour le processus de mise à jour, ainsi qu’une implémentation de microprogramme de prise en charge.
Rubriques connexes
Création d’un package de pilotes de mise à jour
E/S d’appareil à partir de l’environnement UEFI