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 */