diff --git a/xtoskrnl/ar/i686/archsup.S b/xtoskrnl/ar/i686/archsup.S index 1dcbceb..dcd8817 100644 --- a/xtoskrnl/ar/i686/archsup.S +++ b/xtoskrnl/ar/i686/archsup.S @@ -111,7 +111,7 @@ _Ar\Type\Vector\()Start: /* Test previous mode and swap GS if needed */ movl $0, TrapPreviousMode(%ebp) - mov %cs, %ax + mov TrapSegCs(%ebp), %ax and $3, %al mov %al, TrapPreviousMode(%ebp) jz KernelMode\Type\Vector diff --git a/xtoskrnl/includes/ar/i686/asmsup.h b/xtoskrnl/includes/ar/i686/asmsup.h index 1593bc8..6b228f2 100644 --- a/xtoskrnl/includes/ar/i686/asmsup.h +++ b/xtoskrnl/includes/ar/i686/asmsup.h @@ -25,6 +25,7 @@ #define TrapSegFs 40 #define TrapSegGs 42 #define TrapVector 72 +#define TrapSegCs 84 #define TrapEsp 92 #define TrapSegSs 96