new 64b kernel memory map (not userspace yet)
[akaros.git] / kern / arch / i686 / trapentry.S
index 3e95efb..f282bee 100644 (file)
@@ -78,6 +78,9 @@
        pushl %fs;                                                                 \
        pushl %gs;                                                                 \
        pushal;                                                                    \
+       movw $0, %ax;                                                              \
+       movw %ax, %gs;                                                             \
+       movw %ax, %fs;                                                             \
        movw $GD_KD, %ax;                                                          \
        movw %ax, %ds;                                                             \
        movw %ax, %es;                                                             \
@@ -171,7 +174,7 @@ IRQ_HANDLER(IRQ219, 251)
 IRQ_HANDLER(IRQ220, 252)
 IRQ_HANDLER(IRQ221, 253)
 IRQ_HANDLER(IRQ222, 254)
-IRQ_HANDLER_SPEC(IRQ223, I_ACTIVE_MSG, __active_message)
+IRQ_HANDLER_SPEC(IRQ223, I_KERNEL_MSG, __kernel_message)
 
 /* Technically, these HANDLER entries do not need to be in numeric order */
 TRAPHANDLER_NOEC(ISR_syscall, T_SYSCALL)
@@ -193,6 +196,9 @@ _alltraps:
        pushl %fs
        pushl %gs
        pushal
+       movw $0, %ax;
+       movw %ax, %gs;
+       movw %ax, %fs;
        movw $GD_KD, %ax                # data segments aren't accessible by default
        movw %ax, %ds
        movw %ax, %es
@@ -218,6 +224,9 @@ _allirqs:
        pushl %fs
        pushl %gs
        pushal
+       movw $0, %ax;
+       movw %ax, %gs;
+       movw %ax, %fs;
        movw $GD_KD, %ax                # data segments aren't accessible by default
        movw %ax, %ds
        movw %ax, %es
@@ -252,6 +261,9 @@ sysenter_handler:
        pushl %fs
        pushl %gs
        pushal
+       movw $0, %ax;
+       movw %ax, %gs;
+       movw %ax, %fs;
        movw $GD_KD, %ax
        movw %ax, %ds
        movw %ax, %es