Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/ia32/src/asm.S

    rd6f9fff r8844e70  
    183183
    184184        /*
     185         * Save TLS.
     186         */
     187        movl %gs, %edx
     188        movl %edx, ISTATE_OFFSET_GS(%esp)
     189
     190        /*
    185191         * Switch to kernel selectors.
    186192         */
    187         movl $(GDT_SELECTOR(KDATA_DES)), %eax
    188         movl %eax, %ds
    189         movl %eax, %es
    190         movl $(GDT_SELECTOR(VREG_DES)), %eax
    191         movl %eax, %gs
     193        movw $(GDT_SELECTOR(KDATA_DES)), %ax
     194        movw %ax, %ds
     195        movw %ax, %es
    192196       
    193197        /*
     
    209213       
    210214        /*
     215         * Restore TLS.
     216         */
     217        movl ISTATE_OFFSET_GS(%esp), %edx
     218        movl %edx, %gs
     219       
     220        /*
    211221         * Prepare return address and userspace stack for SYSEXIT.
    212222         */
     
    242252
    243253        /*
    244          * Save the segment registers.
     254         * Save the selector registers.
    245255         */
    246256        movl %gs, %ecx
     
    262272        movl %eax, %ds
    263273        movl %eax, %es
    264         movl $(GDT_SELECTOR(VREG_DES)), %eax
    265         movl %eax, %gs
    266274               
    267275        movl $0, ISTATE_OFFSET_EBP_FRAME(%esp)
     
    276284                       
    277285        /*
    278          * Restore the segment registers.
     286         * Restore the selector registers.
    279287         */
    280288        movl ISTATE_OFFSET_GS(%esp), %ecx
     
    346354       
    347355        /*
    348          * Save the segment registers.
     356         * Save the selector registers.
    349357         */
    350358        movl %gs, %ecx
     
    366374        movl %eax, %ds
    367375        movl %eax, %es
    368         movl $(GDT_SELECTOR(VREG_DES)), %eax
    369         movl %eax, %gs
    370376       
    371377        /*
Note: See TracChangeset for help on using the changeset viewer.