Hallo, im Beispielkernel wird mit diesem Code in den Ring3 gewechselt:
EDIT:
Ja gut AX sind die letzten 16Bits von EAX(das hätte ich wissen können
)
Code: [Auswählen]
// Kernel-Datensegmente laden
mov $0x10, %ax
mov %ax, %ds
mov %ax, %es
Aber wenn dieser Code doch noch im Userspace ist,wieso wird beim Segmentregister ax kein Invalid Opcode ausgelöst. Hat dass was mit dem InterruptFlag zu tun dass im Interrupt Context die CPU automitisch die Segmentregister sichtbar macht?EDIT:
Ja gut AX sind die letzten 16Bits von EAX(das hätte ich wissen können
)
Übersicht
Wiki
Hilfe
Suche
Einloggen
Registrieren
Drucken

Gespeichert