Assembleur 80x86 | VMCALL |
---|---|
INTEL VMX (Virtualisation) | Call to VM Monitor |
Syntaxe
VMCALL |
Description
Cette instruction permet de fournir un mécanisme invité logiciel pour appeler un service dans un moniteur VM.
Algorithme
SI pas dans opération VMX ALORS EXCEPTION #UD SINON mais pas l'opération racine ALORS quitte VM SINON SI (RFLAGS.VM = 1) ou (IA32_EFER.LMA = 1 et CS.L = 0) ALORS EXCEPTION #UD SINON SI CPL > 0 ALORS EXCEPTION #GP(0) SINON dans SMM ou le processeur logique ne support pas le traitement multiple moniteur de SMI et SMM ou le bit valide dans le IA32_SMM_MONITOR_CTL MSR vaut 0 ALORS VMfail (VMCALL exécuté dans une opération racine VMX SINON SI traitement multiple moniteur de SMI et SMM est actif ALORS quitte le SMM VM SINON SI pointeur courant VMCS n'est pas valide ALORS VMfailInvalid SINON SI lance l'état du VMCS courant est fixé à 1 ALORS VMfailValid(VMCALL avec VMCS vaut 1) SINON SI champs de contrôle de sortie VM n'est pas valide ALORS VMfailValid (VMCALL avec champs de contôle de sortie VM) SINON entrer dans SMM lecture de l'identificateur de révision dans MSEG SI identificateur de révision ne correspondant pas au processeur supporté ALORS laisse SMM VMfailValid(VMCALL avec identificateur de révision MSEG incorrect) SINON lecture des champs de fournitures du moniteur SMM dans MSEG SI champs de fournitures est invalide ALORS laisse SMM VMfailValid(VMCALL avec fourniture de moniteur SMM invalide) SINON active le traitement multiple moniteur du SMI et SMM FIN SI FIN SI FIN SI |
Mnémonique
Instruction | Opcode | Description |
---|---|---|
VMCALL | 0Fh 01h C1h | Cette instruction permet de fournir un mécanisme invité logiciel pour appeler un service dans un moniteur VM. |
Références
Intel® 64 and IA-32 Architectures Software Developer’s Manual Volume 2B: Instruction Set Reference, N-Z, Edition Intel, Mars 2010, Publication No. 253667-034US, page 577 à 579.
Dernière mise à jour : Samedi, le 2 août 2014