Fix previous mode detection by reading CS from the trap frame
All checks were successful
Builds / ExectOS (amd64, debug) (push) Successful in 32s
Builds / ExectOS (i686, debug) (push) Successful in 30s
Builds / ExectOS (i686, release) (push) Successful in 40s
Builds / ExectOS (amd64, release) (push) Successful in 41s

This commit is contained in:
2026-03-31 23:10:45 +02:00
parent 620fc24cd2
commit d00577ac8d
2 changed files with 2 additions and 1 deletions

View File

@@ -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

View File

@@ -25,6 +25,7 @@
#define TrapSegFs 40
#define TrapSegGs 42
#define TrapVector 72
#define TrapSegCs 84
#define TrapEsp 92
#define TrapSegSs 96