diff options
author | kfraser@localhost.localdomain <kfraser@localhost.localdomain> | 2007-06-12 14:06:37 +0100 |
---|---|---|
committer | kfraser@localhost.localdomain <kfraser@localhost.localdomain> | 2007-06-12 14:06:37 +0100 |
commit | d46dd79904bf6ac05570d24bd11166d6b1043889 (patch) | |
tree | 8530e5453a5b1c8afaf36523a8f30f4ad02cb19e /xen/arch/x86/boot/trampoline.S | |
parent | 79e96982cade240531d7d84fa5b966b2b64c04af (diff) | |
download | xen-d46dd79904bf6ac05570d24bd11166d6b1043889.tar.gz xen-d46dd79904bf6ac05570d24bd11166d6b1043889.tar.bz2 xen-d46dd79904bf6ac05570d24bd11166d6b1043889.zip |
x86: Initialise %ds when booting APs, otherwise data accesses go to
the wrong place.
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
Diffstat (limited to 'xen/arch/x86/boot/trampoline.S')
-rw-r--r-- | xen/arch/x86/boot/trampoline.S | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/xen/arch/x86/boot/trampoline.S b/xen/arch/x86/boot/trampoline.S index 492d42aaab..b76a25a3e7 100644 --- a/xen/arch/x86/boot/trampoline.S +++ b/xen/arch/x86/boot/trampoline.S @@ -6,11 +6,13 @@ .globl trampoline_realmode_entry trampoline_realmode_entry: + mov %cs,%ax + mov %ax,%ds movb $0xA5,bootsym(trampoline_cpu_started) cld cli - lidt %cs:bootsym(idt_48) - lgdt %cs:bootsym(gdt_48) + lidt bootsym(idt_48) + lgdt bootsym(gdt_48) xor %ax, %ax inc %ax lmsw %ax # CR0.PE = 1 (enter protected mode) |