diff options
| -rw-r--r-- | trapasm.S | 7 | 
1 files changed, 5 insertions, 2 deletions
| @@ -1,6 +1,9 @@  #include "param.h"  #include "x86.h"	  #include "mmu.h" + +# the offset of cs in trapframe (i.e., tf->cs - tf) +#define CSOFF  144  # vectors.S sends all traps here.  .globl alltraps @@ -22,7 +25,7 @@ alltraps:    push %rbx    push %rax -  cmpw $KCSEG, 144(%rsp)   # compare to saved cs +  cmpw $KCSEG, CSOFF(%rsp)   # compare to saved cs    jz 1f     swapgs @@ -33,7 +36,7 @@ alltraps:  .globl trapret  trapret:    cli -  cmpw $KCSEG, 144(%rsp)  # compare to saved cs +  cmpw $KCSEG, CSOFF(%rsp)  # compare to saved cs    jz 1f    swapgs | 
