direct-io.hg

changeset 15373:58b6223074af

x86: Boot trampoline cleanups suggested by Xin Li.
Signed-off-by: Keir Fraser <keir@xensource.com>
author kfraser@localhost.localdomain
date Mon Jun 18 16:47:16 2007 +0100 (2007-06-18)
parents 952004c3d822
children b1eb43f94a3a
files xen/arch/x86/boot/trampoline.S
line diff
     1.1 --- a/xen/arch/x86/boot/trampoline.S	Mon Jun 18 12:11:36 2007 +0100
     1.2 +++ b/xen/arch/x86/boot/trampoline.S	Mon Jun 18 16:47:16 2007 +0100
     1.3 @@ -13,12 +13,11 @@ trampoline_realmode_entry:
     1.4          cli
     1.5          lidt    bootsym(idt_48)
     1.6          lgdt    bootsym(gdt_48)
     1.7 +        mov     $1,%bl                    # EBX != 0 indicates we are an AP
     1.8          xor     %ax, %ax
     1.9          inc     %ax
    1.10          lmsw    %ax                       # CR0.PE = 1 (enter protected mode)
    1.11 -        mov     $1,%bl                    # EBX != 0 indicates we are an AP
    1.12 -        jmp     1f
    1.13 -1:      ljmpl   $BOOT_CS32,$bootsym_phys(trampoline_protmode_entry)
    1.14 +        ljmpl   $BOOT_CS32,$bootsym_phys(trampoline_protmode_entry)
    1.15  
    1.16  idt_48: .word   0, 0, 0 # base = limit = 0
    1.17  gdt_48: .word   6*8-1
    1.18 @@ -135,10 +134,9 @@ trampoline_boot_cpu_entry:
    1.19          ljmp    $BOOT_PSEUDORM_CS,$bootsym(1f)
    1.20          .code16
    1.21  1:      mov     %eax,%cr0                 # CR0.PE = 0 (leave protected mode)
    1.22 -        jmp     1f
    1.23  
    1.24          /* Load proper real-mode values into %cs, %ds, %es and %ss. */
    1.25 -1:      ljmp    $(BOOT_TRAMPOLINE>>4),$bootsym(1f)
    1.26 +        ljmp    $(BOOT_TRAMPOLINE>>4),$bootsym(1f)
    1.27  1:      mov     $(BOOT_TRAMPOLINE>>4),%ax
    1.28          mov     %ax,%ds
    1.29          mov     %ax,%es
    1.30 @@ -166,10 +164,9 @@ 1:      mov     $(BOOT_TRAMPOLINE>>4),%a
    1.31          xor     %ax,%ax
    1.32          inc     %ax
    1.33          lmsw    %ax                       # CR0.PE = 1 (enter protected mode)
    1.34 -        jmp     1f
    1.35  
    1.36          /* Load proper protected-mode values into all segment registers. */
    1.37 -1:      ljmpl   $BOOT_CS32,$bootsym_phys(1f)
    1.38 +        ljmpl   $BOOT_CS32,$bootsym_phys(1f)
    1.39          .code32
    1.40  1:      mov     $BOOT_DS,%eax
    1.41          mov     %eax,%ds