Mode SMM
Le mode SMM, tirant son nom de l'abréviation de l'anglicisme System Management Mode, est un mode de fonctionnement spécialement conçu pour gérer des fonctions à l'échelle du système, telles que la gestion de l'alimentation, le contrôle du matériel système ou le code propriétaire conçu par le fabricant. Il est destiné à être utilisé uniquement par le micrologiciel du système, pas par les logiciels d'application ou les logiciels de systèmes à usage général. Le principal avantage de SMM réside dans le fait qu'il offre un environnement de microprocesseur distinct, facilement isolé, fonctionnant de manière transparente pour le système d'exploitation ou les applications exécutives et logicielles. Lorsque le SMM est appelé via une interruption de gestion système (SMI), le microprocesseur enregistre l'état actuel du microprocesseur (le contexte du microprocesseur), puis bascule vers un environnement d'exploitation distinct défini par un nouvel espace d'adresses. Le gestionnaire de logiciel de gestion de système (gestionnaire SMI) commence l'exécution dans cet environnement. Le code et les données critiques du gestionnaire SMI résident dans une région de mémoire physique (SMRAM) située dans cet espace adresse. En mode SMM, le processeur exécute le code du gestionnaire SMI pour effectuer des opérations telles que la mise hors tension des unités de disque ou des moniteurs inutilisés, l'exécution du code propriétaire ou la mise en veille de l'ensemble du système. Lorsque le gestionnaire SMI a terminé ses opérations, il exécute une instruction de reprise (RSM). Cette instruction force le processeur à recharger le contexte enregistré du processeur, à repasser en mode protégé ou en mode réel et à reprendre l'exécution de l'application ou du programme ou de la tâche du système d'exploitation interrompu. Les mécanismes SMM suivants le rendent transparent pour les programmes d'application et les systèmes d'exploitation :
- Le seul moyen d'entrer en SMM consiste à utiliser un SMI
- Le processeur exécute le code SMM dans un espace d'adressage distinct pouvant être rendu inaccessible aux autres modes de fonctionnement.
- En entrant en SMM, le processeur enregistre le contexte du programme ou de la tâche interrompu.
- Toutes les interruptions normalement traitées par le système d'exploitation sont désactivées lors de la saisie dans SMM.
- L'instruction RSM ne peut être exécutée que dans le SMM.
L'environnement d'exécution après avoir entré SMM est en réalité le mode d'adresse avec pagination désactivée (CR0.PE = CR0.PG = 0). Dans cet environnement d'exécution initial, le gestionnaire SMI peut traiter jusqu'à 4 Go de mémoire et exécuter toutes les instructions d'entrée/sortie et système. Le gestionnaire SMI peut ensuite basculer vers d'autres modes de fonctionnement tout en restant dans le SMM.
Voir également
Langage de programmation - Assembleur 80x86 - Structure de données - Format du SMM