Fixes trapframes on x86
authorBarret Rhoden <brho@cs.berkeley.edu>
Fri, 22 Jan 2010 19:10:07 +0000 (11:10 -0800)
committerBarret Rhoden <brho@cs.berkeley.edu>
Fri, 22 Jan 2010 19:10:07 +0000 (11:10 -0800)
Missed the extra segmentation registers in the specialized irq handler
when implementing TLS.

kern/arch/i386/trapentry.S

index 81448c1..8c31530 100644 (file)
@@ -75,6 +75,8 @@
        cld;                                                                       \
        pushl %ds;                                                                 \
        pushl %es;                                                                 \
+       pushl %fs;                                                                 \
+       pushl %gs;                                                                 \
        pushal;                                                                    \
        movw $GD_KD, %ax;                                                          \
        movw %ax, %ds;                                                             \
@@ -84,6 +86,8 @@
        call (func);                                                               \
        popl %esp;                                                                 \
        popal;                                                                     \
+       popl %gs;                                                                  \
+       popl %fs;                                                                  \
        popl %es;                                                                  \
        popl %ds;                                                                  \
        addl $0x8, %esp;                                                           \