Section courante

A propos

Section administrative du site

Voici la structure de données d'un SMM (System Managment Mode).

Intel SSM (Format du SMRAM)

Déplacement du SMBASE Taille Description
FFFCh 4 octets Registre CR0
FFF8h 4 octets Registre CR3
FFF4h 4 octets Registre EFLAGS
FFF0h 4 octets Registre EIP
FFECh 4 octets Registre EDI
FFE8h 4 octets Registre ESI
FFE4h 4 octets Registre EBP
FFE0h 4 octets Registre ESP
FFDCh 4 octets Registre EBX
FFD8h 4 octets Registre EDX
FFD4h 4 octets Registre ECX
FFD0h 4 octets Registre EAX
FFCCh 4 octets Registre DR6
FFC8h 4 octets Registre DR7
FFC4h 4 octets TR
FFC0h 4 octets LDTR
FFBCh 4 octets Registre GS
FFB8h 4 octets Registre FS
FFB4h 4 octets Registre DS
FFB0h 4 octets Registre SS
FFACh 4 octets Registre CS
FFA8h 4 octets Registre ES
FFA4h 4 octets DWORD d'une trappe d'entrée/sortie
FFA0h 8 octets Réservé
FF9Ch 4 octets Registre EIP d'une trappe d'entrée/sortie
FF94h 8 octets Réservé
FF90h 4 octets Base d'un IDT
FF8Ch 4 octets Limite d'un IDT
FF88h 4 octets Base d'un GDT
FF84h 4 octets Limite d'un GDT
FF80h 4 octets Attribut d'un TSS
FF7Ch 4 octets Base d'un TSS
FF78h 4 octets Limite d'un TSS
FF74h 4 octets Attribut d'un LDT
FF70h 4 octets Base d'un LDT
FF6Ch 4 octets Limite d'un LDT
FF68h 4 octets Attribut d'un registre GS
FF64h 4 octets Base d'un registre GS
FF60h 4 octets Limite d'un registre GS
FF5Ch 4 octets Attribut d'un registre FS
FF58h 4 octets Base d'un registre FS
FF54h 4 octets Limite d'un registre FS
FF50h 4 octets Attribut d'un registre DS
FF4Ch 4 octets Base d'un registre DS
FF48h 4 octets Limite d'un registre DS
FF44h 4 octets Attribut d'un registre SS
FF40h 4 octets Base d'un registre SS
FF3Ch 4 octets Limite d'un registre SS
FF38h 4 octets Attribut d'un registre CS
FF34h 4 octets Base d'un registre CS
FF30h 4 octets Limite d'un registre CS
FF2Ch 4 octets Attribut d'un registre ES
FF28h 4 octets Base d'un registre ES
FF24h 4 octets Limite d'un registre ES
FF18h 12 octets Réservé
FF14h 4 octets Registre CR2
FF10h 4 octets Registre CR4
FF0Ch 4 octets Redémarrage d'entrée/sortie du registre ESI
FF08h 4 octets Redémarrage d'entrée/sortie du registre ECX
FF04h 4 octets Redémarrage d'entrée/sortie du registre EDI
FF02h 2 octets Redémarrage automatique d'une fente HALT
FF00h 2 octets Redémarrage d'une fente de trappe d'entrée/sortie
FEFCh 4 octets Identificateur de révision SMM
FEF8h 4 octets Fente SMBASE
7E00h 248 octets Réservé

Cyrix SMM (Format du SMRAM)

Déplacement du SMBASE Taille Description
+00h 4 octets Registre SMHR pointant ici (M2)
-04h 4 octets Registre DR7
-08h 4 octets Registre EFLAGS
-0Ch 4 octets Registre CR0
-10h 4 octets Registre EIP courant
-14h 4 octets Registre EIP suivant
-18h 4 octets Sélecteur de registre CS
-20h 8 octets Descripteur de registre CS
-24h 4 octets Champ de bits :
Bit Description
22 à 21 CPL
15 Indicateur SMI imbriqué
13 Indicateur interne SMI
4 SMI sur l'instruction HLT
3 Entrée logiciel SMI
2 Indicateur REP INSx/OUTSx
1 Indicateur IN/INSx/OUT/OUTSx
0 Drapeau inscriptible du segment de code
-26h 2 octets Taille des données d'écriture d'entrée/sortie
-28h 2 octets Adresse d'écriture d'entrée/sortie
-2Ch 2 octets Écriture des données d'entrée/sortie
-30h 4 octets Registres ESI ou EDI

Ancien style AMD SMM (Format du SMRAM)

Déplacement du SMBASE Taille Description
60000h 4 octets Registre CR0
60004h 4 octets Registre EFLAGS
60008h 4 octets Registre EIP
6000Ch 4 octets Registre EDI
60010h 4 octets Registre ESI
60014h 4 octets Registre EBP
60018h 4 octets Registre ESP
6001Ch 4 octets Registre EBX
60020h 4 octets Registre EDX
60024h 4 octets Registre ECX
60028h 4 octets Registre EAX
6002Ch 4 octets Registre DR6
60030h 4 octets Registre DR7
60034h 4 octets Sélecteur TR
60038h 4 octets Sélecteur LDT
6003Ch 4 octets Sélecteur de registre GS
60040h 4 octets Sélecteur de registre FS
60044h 4 octets Sélecteur de registre DS
60048h 4 octets Sélecteur de registre SS
6004Ch 4 octets Sélecteur de registre CS
60050h 4 octets Sélecteur de registre ES
60054h 4 octets Attribut d'un descripteur TSS
60058h 4 octets Base d'un descripteur TSS
6005Ch 4 octets Limite d'un descripteur TSS
60060h 4 octets Réservé
60064h 4 octets Base d'un IDTR
60068h 4 octets Limite d'un IDTR
6006Ch 4 octets Drapeau de dépassement REP OUTS
60070h 4 octets Base d'un GDTR
60074h 4 octets Limite d'un GDTR
60078h 4 octets Attribut d'un LDT
6007Ch 4 octets Base d'un LDT
60080h 4 octets Limite d'un LDT
60084h 4 octets Attribut d'un registre GS
60088h 4 octets Base d'un registre GS
6008Ch 4 octets Limite d'un registre GS
60090h 4 octets Attribut d'un registre FS
60094h 4 octets Base d'un registre FS
60098h 4 octets Limite d'un registre FS
6009Ch 4 octets Attribut d'un registre DS
600A0h 4 octets Base d'un registre DS
600A4h 4 octets Limite d'un registre DS
600A8h 4 octets Attribut d'un registre SS
600ACh 4 octets Base d'un registre SS
600B0h 4 octets Limite d'un registre SS
600B4h 4 octets Attribut d'un registre CS
600B8h 4 octets Base d'un registre CS
600BCh 4 octets Limite d'un registre CS
600C0h 4 octets Attribut d'un registre ES
600C4h 4 octets Base d'un registre ES
600C8h 4 octets Limite d'un registre ES
...
60100h 4 octets Registre temporaire TST
60104h 4 octets Registre temporaire IDX
60108h 4 octets Registre temporaire TMPH
6010Ch 4 octets Registre temporaire TMPG
60110h 4 octets Registre temporaire TMPF
60114h 4 octets Registre temporaire TMPE
60118h 4 octets Registre temporaire TMPD
6011Ch 4 octets Registre temporaire TMPC
60120h 4 octets Registre temporaire TMPB
60124h 4 octets LEIP (dernier registre EIP)
Champs additionnel AMD Am486DXLV
60128h 4 octets PEIP
6012Ch 36 octets Non-utilisé
60150h 88 octets Registres internes des nombres flottants

IBM SMM (Format du SMRAM)

Déplacement du SMBASE Taille Description
60000h 4 octets Registre CR0
60004h 4 octets Registre EFLAGS
60008h 4 octets Registre EIP
6000Ch 4 octets Registre EDI
60010h 4 octets Registre ESI
60014h 4 octets Registre EBP
60018h 4 octets Registre ESP
6001Ch 4 octets Registre EBX
60020h 4 octets Registre EDX
60024h 4 octets Registre ECX
60028h 4 octets Registre EAX
6002Ch 4 octets Registre DR6
60030h 4 octets Registre DR7
60034h 4 octets Sélecteur TR
60038h 4 octets Sélecteur LDT
6003Ch 4 octets Sélecteur GS
60040h 4 octets Sélecteur FS
60044h 4 octets Sélecteur DS
60048h 4 octets Sélecteur SS
6004Ch 4 octets Sélecteur CS
60050h 4 octets Sélecteur ES
60054h 4 octets Attribut d'un descripteur TSS
60058h 4 octets Base d'un descripteur TSS
6005Ch 4 octets Limite d'un descripteur TSS
60060h 4 octets Réservé
60064h 4 octets Base d'un IDTR
60068h 4 octets Limite d'un IDTR
6006Ch 4 octets Drapeau de dépassement REP OUTS
60070h 4 octets Base d'un GDTR
60074h 4 octets Limite d'un GDTR
60078h 4 octets Attribut d'un LDT
6007Ch 4 octets Base d'un LDT
60080h 4 octets Limite d'un LDT
60084h 4 octets Attribut d'un GS
60088h 4 octets Base d'un GS
6008Ch 4 octets Limite d'un GS
60090h 4 octets Attribut d'un FS
60094h 4 octets Base d'un FS
60098h 4 octets Limite d'un FS
6009Ch 4 octets Attribut d'un DS
600A0h 4 octets Base d'un DS
600A4h 4 octets Limite d'un DS
600A8h 4 octets Attribut d'un SS
600ACh 4 octets Base d'un SS
600B0h 4 octets Limite d'un SS
600B4h 4 octets Attribut d'un CS
600B8h 4 octets Base d'un CS
600BCh 4 octets Limite d'un CS
600C0h 4 octets Attribut d'un ES
600C4h 4 octets Base d'un ES
600C8h 4 octets Limite d'un ES
...
60100h 4 octets Registre temporaire TST
60104h 4 octets Registre temporaire IDX
60108h 4 octets Registre temporaire TMPH
6010Ch 4 octets Registre temporaire TMPG
60110h 4 octets Registre temporaire TMPF
60114h 4 octets Registre temporaire TMPE
60118h 4 octets Registre temporaire TMPD
6011Ch 4 octets Registre temporaire TMPC
60120h 4 octets Registre temporaire TMPB
60124h 4 octets Registre temporaire TMPA
60128h 4 octets Registre CR2
6012Ch 4 octets Registre CR3
60130h 4 octets MSR 1001h (0 à 31)
60134h 4 octets MSR 1001h (63 à 32)
60138h 4 octets MSR 1000h (0 à 31)
6013Ch 4 octets Registre DR0
60140h 4 octets Registre DR1
60144h 4 octets Registre DR2
60148h 4 octets Registre DR3
6014Ch 4 octets PEIP (Précédent pointeur d'instruction d'espace mémoire cachée)

Voir également

Langage de programmation - Assembleur 80x86 - Mode d'adressage du processeur - Mode SMM

Dernière mise à jour : Lundi, le 20 mai 2019