TRAX44
Messages postés93Date d'inscriptionmercredi 18 septembre 2002StatutMembreDernière intervention20 juillet 2006
-
18 avril 2003 à 21:44
CoreBreaker
Messages postés540Date d'inscriptiondimanche 23 mars 2003StatutMembreDernière intervention 5 octobre 2007
-
20 avril 2003 à 06:16
Bonjour,
je voudrai savoir cmt pa c en mode protégé sans aucun drivers ou autre!
J'ai surtout des pb avec la gdt je compren pas vraiment cmt sa marche ...
merci
CoreBreaker
Messages postés540Date d'inscriptiondimanche 23 mars 2003StatutMembreDernière intervention 5 octobre 20071 20 avril 2003 à 06:16
Avanr de passer en MP (PM en anglais), tu dois préparer le passage en créant la GDT et l'IDT en autre
le passage en lui meme se fait par 3 instructions:
mov eax, cr0
or al, 1
mov cr0, eax
la gdt est un tableau système qui contient les zones mémoires dans lesquelles le système s'exécutes. Ce sont des zones de toutes sortes (code, données, pile). Elle peuvent se chevaucher. Chaque entrée appelée descripteur va décrire une zone. Un descripteur contient l'adresse de départ, la taille, le type de zone, ainsi que des paramètres de protection et sur sa nature (la manière sont elle est mappée).
ensuite il faut charger l'adresse de la GDT dans un regitre système:
mov eax, offset GDT
lgdt eax
ensuite un registre de segment contiendra principalement l'index dans la GDT. Chaque descripteur a une structure bien particulière.
Le livre Processeur et coprocesseur de Robert Hummel édité chez ZD Press, te décrira avec une grande précision les mécanismes de protections car il sont assez complexes.
Seule la GDT ne te suffira pas pour passer au MP, il faut renseigner aussi l'IDT et redéfinir les exceptions, les interruptions, activer la ligne d'adresse 20.