Section courante

A propos

Section administrative du site

Assembleur 80x86

SKINIT

AMD-V Secure Init and Jump with Attestation

Syntaxe

SKINIT EAX

Description

Cette instruction permet de réinitialiser de façon sécuritaire le microprocesseur et de démarrer un logiciel de confiance comme un VMM.

Algorithme

SI ((EFER.SVMEN = 0) ET PAS (CPUID 8000_0001.ECX(SKINIT)) OU (PAS PROTECTED_MODE)) ALORS
   EXCEPTION #UD()
FIN SI
SI CPL ≠ 0 ALORS
   EXCEPTION #GP()
FIN SI
Initialise l'état du microprocesseur pour un signal INIT
CR0.PE ← 1
CS.sel ← 0008h
CS.attr ← 32-bit code, lecture/exécution
CS.base ← 0
CS.limit ← FFFFFFFFh
SS.sel ← 0010h
SS.attr ← pile 32-bits, lecture/écriture, haute expansion
SS.base ← 0
SS.limit ← FFFFFFFFh
EAX ← EAX ∩ FFFF0000h
EDX ← famille/modèle/niveau
ESP ← EAX + 00010000h
Efface le GPR autre que EAX, EDX, ESP
EFER ← 0
VM_CR.DPD ← 1
VM_CR.R_INIT ← 1
VM_CR.DIS_A20M ← 1
Active SL_DEV, et protège 64 Kilooctets de mémoire physique de démarrage à l'adresse physique du registre EAX
GIF ← 0
Lecture de la longueur du SL de l'offset 0002h du SLB
Copie l'image du SL dans le TPM pour attestation
Lecture du point d'entrée SL de l'offset 0000h du SLB
Saut au point d'entrée SL, à EIP = EAX + offset de point d'entrée

Mnémonique

Instruction Opcode Description
SKINIT EAX 0Fh 01h DEh Cette instruction permet d'effectuer l'initialisation sécurisé et le saut avec l'attestation.


Dernière mise à jour : Lundi, le 8 septembre 2014