kern
diff src/intr-asm.S @ 55:88a6c4e192f9
Fixed most important task switching bugs.
Now it seems that I can switch in and out of user space reliably.
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Mon, 15 Aug 2011 04:03:39 +0300 |
parents | 4eaecb14fe31 |
children |
line diff
1.1 --- a/src/intr-asm.S Sun Aug 14 16:57:23 2011 +0300 1.2 +++ b/src/intr-asm.S Mon Aug 15 04:03:39 2011 +0300 1.3 @@ -81,10 +81,11 @@ 1.4 /* if we entered from userspace ss and cs is set correctly, but 1.5 * we must make sure all the other selectors are set to the 1.6 * kernel data segment */ 1.7 - mov $SEGM_KDATA, %ds 1.8 - mov $SEGM_KDATA, %es 1.9 - mov $SEGM_KDATA, %fs 1.10 - mov $SEGM_KDATA, %gs 1.11 + mov %ss, %eax 1.12 + mov %eax, %ds 1.13 + mov %eax, %es 1.14 + mov %eax, %fs 1.15 + mov %eax, %gs 1.16 call dispatch_intr 1.17 intr_ret_local: 1.18 /* restore general purpose registers */