diff options
author | Keir Fraser <keir@xen.org> | 2012-09-12 13:29:30 +0100 |
---|---|---|
committer | Keir Fraser <keir@xen.org> | 2012-09-12 13:29:30 +0100 |
commit | 5d1181a5ea5e0f11d481a94b16ed00d883f9726e (patch) | |
tree | 4b43be5829873f2ec1a1b2d0f7e26b15dffb11c6 /xen/arch/x86/boot | |
parent | b314cd733413babc5978b819793ad5c77f094adf (diff) | |
download | xen-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.S | 6 | ||||
-rw-r--r-- | xen/arch/x86/boot/trampoline.S | 18 | ||||
-rw-r--r-- | xen/arch/x86/boot/wakeup.S | 12 | ||||
-rw-r--r-- | xen/arch/x86/boot/x86_32.S | 131 |
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 |