aboutsummaryrefslogtreecommitdiffstats
path: root/xen/arch/x86/boot
diff options
context:
space:
mode:
authorKeir Fraser <keir@xen.org>2012-09-12 13:29:30 +0100
committerKeir Fraser <keir@xen.org>2012-09-12 13:29:30 +0100
commit5d1181a5ea5e0f11d481a94b16ed00d883f9726e (patch)
tree4b43be5829873f2ec1a1b2d0f7e26b15dffb11c6 /xen/arch/x86/boot
parentb314cd733413babc5978b819793ad5c77f094adf (diff)
downloadxen-5d1181a5ea5e0f11d481a94b16ed00d883f9726e.tar.gz
xen-5d1181a5ea5e0f11d481a94b16ed00d883f9726e.tar.bz2
xen-5d1181a5ea5e0f11d481a94b16ed00d883f9726e.zip
xen: Remove x86_32 build target.
Signed-off-by: Keir Fraser <keir@xen.org>
Diffstat (limited to 'xen/arch/x86/boot')
-rw-r--r--xen/arch/x86/boot/head.S6
-rw-r--r--xen/arch/x86/boot/trampoline.S18
-rw-r--r--xen/arch/x86/boot/wakeup.S12
-rw-r--r--xen/arch/x86/boot/x86_32.S131
4 files changed, 0 insertions, 167 deletions
diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
index bf80cf7bee..7efa155a65 100644
--- a/xen/arch/x86/boot/head.S
+++ b/xen/arch/x86/boot/head.S
@@ -119,7 +119,6 @@ __start:
1: mov %edx,sym_phys(cpuid_ext_features)
mov %edx,sym_phys(boot_cpu_data)+CPUINFO86_ext_features
-#if defined(__x86_64__)
/* Check for availability of long mode. */
bt $29,%edx
jnc bad_cpu
@@ -138,7 +137,6 @@ __start:
mov $sym_phys(l1_identmap)+__PAGE_HYPERVISOR,%edi
mov %edi,sym_phys(l2_xenmap)
mov %edi,sym_phys(l2_bootmap)
-#endif
/* Apply relocations to bootstrap trampoline. */
mov sym_phys(trampoline_phys),%edx
@@ -191,11 +189,7 @@ trampoline_end:
.text
__high_start:
-#ifdef __x86_64__
#include "x86_64.S"
-#else
-#include "x86_32.S"
-#endif
.section .data.page_aligned, "aw", @progbits
.p2align PAGE_SHIFT
diff --git a/xen/arch/x86/boot/trampoline.S b/xen/arch/x86/boot/trampoline.S
index c6bda28103..df1d45950a 100644
--- a/xen/arch/x86/boot/trampoline.S
+++ b/xen/arch/x86/boot/trampoline.S
@@ -109,8 +109,6 @@ trampoline_protmode_entry:
jmp 1f
1:
-#if defined(__x86_64__)
-
/* Now in compatibility mode. Long-jump into 64-bit mode. */
ljmp $BOOT_CS64,$bootsym_rel(start64,6)
@@ -123,20 +121,6 @@ start64:
high_start:
.quad __high_start
-#else /* !defined(__x86_64__) */
-
- /* Install relocated selectors. */
- lgdt gdt_descr
- mov $(__HYPERVISOR_DS),%eax
- mov %eax,%ds
- mov %eax,%es
- mov %eax,%fs
- mov %eax,%gs
- mov %eax,%ss
- ljmp $(__HYPERVISOR_CS),$__high_start
-
-#endif
-
.code32
trampoline_boot_cpu_entry:
cmpb $0,bootsym_rel(skip_realmode,5)
@@ -169,7 +153,6 @@ trampoline_boot_cpu_entry:
lidt bootsym(rm_idt)
sti
-#if defined(__x86_64__)
/*
* Declare that our target operating mode is long mode.
* Initialise 32-bit registers since some buggy BIOSes depend on it.
@@ -177,7 +160,6 @@ trampoline_boot_cpu_entry:
movl $0xec00,%eax # declare target operating mode
movl $0x0002,%ebx # long mode
int $0x15
-#endif
/*
* Do real-mode work:
diff --git a/xen/arch/x86/boot/wakeup.S b/xen/arch/x86/boot/wakeup.S
index d1e645a551..b27302576d 100644
--- a/xen/arch/x86/boot/wakeup.S
+++ b/xen/arch/x86/boot/wakeup.S
@@ -161,8 +161,6 @@ wakeup_32:
jmp 1f
1:
-#if defined(__x86_64__)
-
/* Now in compatibility mode. Long-jump to 64-bit mode */
ljmp $BOOT_CS64, $bootsym_rel(wakeup_64,6)
@@ -175,16 +173,6 @@ wakeup_64:
ret_point:
.quad __ret_point
-#else /* !defined(__x86_64__) */
-
- lgdt gdt_descr
- mov $(__HYPERVISOR_DS), %eax
- mov %eax, %ds
-
- ljmp $(__HYPERVISOR_CS), $__ret_point
-
-#endif
-
bogus_saved_magic:
movw $0x0e00 + 'S', 0xb8014
jmp bogus_saved_magic
diff --git a/xen/arch/x86/boot/x86_32.S b/xen/arch/x86/boot/x86_32.S
deleted file mode 100644
index f59f0dc284..0000000000
--- a/xen/arch/x86/boot/x86_32.S
+++ /dev/null
@@ -1,131 +0,0 @@
- .code32
-
- /* Enable full CR4 features. */
- mov mmu_cr4_features,%eax
- mov %eax,%cr4
-
- /* Initialise stack. */
- mov stack_start,%esp
- or $(STACK_SIZE-CPUINFO_sizeof),%esp
-
- /* Reset EFLAGS (subsumes CLI and CLD). */
- pushl $0
- popf
-
- lidt idt_descr
-
- test %ebx,%ebx
- jnz start_secondary
-
- /* Initialise IDT with simple error defaults. */
- lea ignore_int,%edx
- mov $(__HYPERVISOR_CS << 16),%eax
- mov %dx,%ax /* selector = 0x0010 = cs */
- mov $0x8E00,%dx /* interrupt gate - dpl=0, present */
- lea idt_table,%edi
- mov $256,%ecx
-1: mov %eax,(%edi)
- mov %edx,4(%edi)
- add $8,%edi
- loop 1b
-
- /* Pass off the Multiboot info structure to C land. */
- pushl multiboot_ptr
- call __start_xen
- ud2 /* Force a panic (invalid opcode). */
-
-/* This is the default interrupt handler. */
-int_msg:
- .asciz "Unknown interrupt (cr2=%08x)\n"
-hex_msg:
- .asciz " %08x"
- ALIGN
-ignore_int:
- pusha
- cld
- mov $(__HYPERVISOR_DS),%eax
- mov %eax,%ds
- mov %eax,%es
- mov %cr2,%eax
- push %eax
- pushl $int_msg
- call printk
- add $8,%esp
- mov %esp,%ebp
-0: pushl (%ebp)
- add $4,%ebp
- pushl $hex_msg
- call printk
- add $8,%esp
- test $0xffc,%ebp
- jnz 0b
-1: jmp 1b
-
- .data
- ALIGN
-ENTRY(stack_start)
- .long cpu0_stack
-
-/*** DESCRIPTOR TABLES ***/
-
- ALIGN
-multiboot_ptr:
- .long 0
-
- .word 0
-idt_descr:
- .word 256*8-1
- .long idt_table
-
- .word 0
-gdt_descr:
- .word LAST_RESERVED_GDT_BYTE
- .long boot_cpu_gdt_table - FIRST_RESERVED_GDT_BYTE
-
-
- .align 32
-ENTRY(idle_pg_table)
- .long sym_phys(idle_pg_table_l2) + 0*PAGE_SIZE + 0x01, 0
- .long sym_phys(idle_pg_table_l2) + 1*PAGE_SIZE + 0x01, 0
- .long sym_phys(idle_pg_table_l2) + 2*PAGE_SIZE + 0x01, 0
- .long sym_phys(idle_pg_table_l2) + 3*PAGE_SIZE + 0x01, 0
-
- .section .data.page_aligned, "aw", @progbits
- .align PAGE_SIZE, 0
-/* NB. Rings != 0 get access up to MACH2PHYS_VIRT_END. This allows access to */
-/* the machine->physical mapping table. Ring 0 can access all memory. */
-#define GUEST_DESC(d) \
- .long ((MACH2PHYS_VIRT_END - 1) >> 12) & 0xffff, \
- ((MACH2PHYS_VIRT_END - 1) >> 12) & (0xf << 16) | (d)
-ENTRY(boot_cpu_gdt_table)
- .quad 0x0000000000000000 /* double fault TSS */
- .quad 0x00cf9a000000ffff /* 0xe008 ring 0 4.00GB code at 0x0 */
- .quad 0x00cf92000000ffff /* 0xe010 ring 0 4.00GB data at 0x0 */
- GUEST_DESC(0x00c0ba00) /* 0xe019 ring 1 3.xxGB code at 0x0 */
- GUEST_DESC(0x00c0b200) /* 0xe021 ring 1 3.xxGB data at 0x0 */
- GUEST_DESC(0x00c0fa00) /* 0xe02b ring 3 3.xxGB code at 0x0 */
- GUEST_DESC(0x00c0f200) /* 0xe033 ring 3 3.xxGB data at 0x0 */
- .fill (PER_CPU_GDT_ENTRY - FLAT_RING3_DS / 8 - 1), 8, 0
- .quad 0x0000910000000000 /* per-CPU entry (limit == cpu) */
- .align PAGE_SIZE,0
-
-#define PAGE_HYPERVISOR __PAGE_HYPERVISOR
-#define PAGE_HYPERVISOR_NOCACHE __PAGE_HYPERVISOR_NOCACHE
-
-/* Mapping of first 16 megabytes of memory. */
- .globl idle_pg_table_l2
-idle_pg_table_l2:
- range = 8
- .irp count, l2_linear_offset(__PAGE_OFFSET), \
- (4 * L2_PAGETABLE_ENTRIES - l2_linear_offset(__PAGE_OFFSET) - 1)
- .long sym_phys(l1_identmap) + PAGE_HYPERVISOR, 0
- pfn = 1 << PAGETABLE_ORDER
- .rept range - 1
- .long (pfn << PAGE_SHIFT) | PAGE_HYPERVISOR | _PAGE_PSE, 0
- pfn = pfn + (1 << PAGETABLE_ORDER)
- .endr
- .fill \count - range, 8, 0
- range = DIRECTMAP_MBYTES / 2
- .endr
- .long sym_phys(l1_fixmap) + PAGE_HYPERVISOR, 0
- .size idle_pg_table_l2, . - idle_pg_table_l2