Exact, il y a une paire de CS/DS(ES,...) pour la partie user, et une autre
pour la partie kernel.
Dans arch/i386/kernel/head.S, il y a la définition de la GDT, avec notamment:
.quad 0x00cf9a000000ffff /* 0x60 kernel 4GB code at 0x00000000 */
.quad 0x00cf92000000ffff /* 0x68 kernel 4GB data at 0x00000000 */
.quad 0x00cffa000000ffff /* 0x73 user 4GB code at 0x00000000 */
.quad 0x00cff2000000ffff /* 0x7b user 4GB data at 0x00000000 */
Donc ce qui t'intéresserait ce serait le "0x68", à mettre dans DS/ES/...
Sachant quand même que si tu es en mode noyau, tu devrais déjà
avoir cette valeur dans les registres.
[^] # Re: Mode protégé et adressage "flat"
Posté par galactikboulay . En réponse au message accès à la mémoire. Évalué à 3.
pour la partie kernel.
Dans arch/i386/kernel/head.S, il y a la définition de la GDT, avec notamment:
.quad 0x00cf9a000000ffff /* 0x60 kernel 4GB code at 0x00000000 */
.quad 0x00cf92000000ffff /* 0x68 kernel 4GB data at 0x00000000 */
.quad 0x00cffa000000ffff /* 0x73 user 4GB code at 0x00000000 */
.quad 0x00cff2000000ffff /* 0x7b user 4GB data at 0x00000000 */
Donc ce qui t'intéresserait ce serait le "0x68", à mettre dans DS/ES/...
Sachant quand même que si tu es en mode noyau, tu devrais déjà
avoir cette valeur dans les registres.