From 5d3d7c2b024a581b55bf33d1145b5c8a62def365 Mon Sep 17 00:00:00 2001 From: Martin Decky Date: Mon, 17 Jul 2006 19:07:11 +0000 Subject: [PATCH] fork directories --- kernel/arch/xen32/_link.ld.in | 107 ++++++++++++++------------------------ kernel/arch/xen32/include/boot | 1 - kernel/arch/xen32/src/boot/boot.S | 45 ---------------- kernel/arch/xen32/src/smp | 1 - 4 files changed, 38 insertions(+), 116 deletions(-) rewrite kernel/arch/xen32/_link.ld.in (64%) delete mode 120000 kernel/arch/xen32/include/boot delete mode 120000 kernel/arch/xen32/src/smp diff --git a/kernel/arch/xen32/_link.ld.in b/kernel/arch/xen32/_link.ld.in dissimilarity index 64% index 7c46bf6af..63050e7aa 100644 --- a/kernel/arch/xen32/_link.ld.in +++ b/kernel/arch/xen32/_link.ld.in @@ -1,69 +1,38 @@ -/** Xen32 linker script - * - * umapped section: - * kernel text - * kernel data - * mapped section: - * kernel text - * kernel data - */ - -#define __ASM__ -#include -#include - -SECTIONS { - .unmapped BOOT_OFFSET: AT (0) { - unmapped_ktext_start = .; - *(K_TEXT_START); - unmapped_ktext_end = .; - - unmapped_kdata_start = .; - *(K_DATA_START); - unmapped_kdata_end = .; - } - - .mapped (PA2KA(BOOT_OFFSET)+SIZEOF(.unmapped)): AT (SIZEOF(.unmapped)) { - ktext_start = .; - *(.text); - ktext_end = .; - - kdata_start = .; - *(.data); /* initialized data */ - *(.rodata*); /* string literals */ - *(COMMON); /* global variables */ - hardcoded_load_address = .; - LONG(PA2KA(BOOT_OFFSET)); - hardcoded_ktext_size = .; - LONG((ktext_end - ktext_start) + (unmapped_ktext_end - unmapped_ktext_start)); - hardcoded_kdata_size = .; - LONG((kdata_end - kdata_start) + (unmapped_kdata_end - unmapped_kdata_start)); - hardcoded_unmapped_ktext_size = .; - LONG(unmapped_ktext_end - unmapped_ktext_start); - hardcoded_unmapped_kdata_size = .; - LONG(unmapped_kdata_end - unmapped_kdata_start); - symbol_table = .; - *(symtab.*); /* Symbol table, must be LAST symbol! */ - *(.bss); /* uninitialized static variables */ - kdata_end = .; - } - - __xen_guest(0): AT (SIZEOF(.unmapped)+SIZEOF(.mapped)) { - *(__xen_guest); - } - - /DISCARD/ : { - *(.note.GNU-stack); - *(.comment); - } - -#ifdef CONFIG_SMP - - _hardcoded_unmapped_size = (unmapped_ktext_end - unmapped_ktext_start) + (unmapped_kdata_end - unmapped_kdata_start); - ap_boot = unmapped_ap_boot - BOOT_OFFSET + AP_BOOT_OFFSET; - ap_gdtr = unmapped_ap_gdtr - BOOT_OFFSET + AP_BOOT_OFFSET; - protected_ap_gdtr = PA2KA(ap_gdtr); - -#endif /* CONFIG_SMP */ - -} +/** Xen32 linker script + */ + +#define __ASM__ +#include +#include + +SECTIONS { + __xen_guest : { + *(__xen_guest); + } + + .image PA2KA(0): { + ktext_start = .; + *(.text); + ktext_end = .; + + kdata_start = .; + *(.data); /* initialized data */ + *(.rodata*); /* string literals */ + *(COMMON); /* global variables */ + hardcoded_load_address = .; + LONG(PA2KA(0)); + hardcoded_ktext_size = .; + LONG(ktext_end - ktext_start); + hardcoded_kdata_size = .; + LONG(kdata_end - kdata_start); + symbol_table = .; + *(symtab.*); /* Symbol table, must be LAST symbol! */ + *(.bss); /* uninitialized static variables */ + kdata_end = .; + } + + /DISCARD/ : { + *(.note.GNU-stack); + *(.comment); + } +} diff --git a/kernel/arch/xen32/include/boot b/kernel/arch/xen32/include/boot deleted file mode 120000 index 151043b35..000000000 --- a/kernel/arch/xen32/include/boot +++ /dev/null @@ -1 +0,0 @@ -../../ia32/include/boot \ No newline at end of file diff --git a/kernel/arch/xen32/src/boot/boot.S b/kernel/arch/xen32/src/boot/boot.S index 2f2d85f40..757f1d991 100644 --- a/kernel/arch/xen32/src/boot/boot.S +++ b/kernel/arch/xen32/src/boot/boot.S @@ -28,7 +28,6 @@ # #include -#include #include #include @@ -163,50 +162,6 @@ multiboot_image_start: mods_end: - bt $6, %eax # mbi->flags[6] (mmap_length, mmap_addr valid) - jc mmap_valid - - xorl %edx, %edx - jmp mmap_invalid - - mmap_valid: - movl 44(%ebx), %ecx # mbi->mmap_length - movl 48(%ebx), %esi # mbi->mmap_addr - movl $e820table, %edi - xorl %edx, %edx - - mmap_loop: - cmpl $0, %ecx - jle mmap_end - - movl 4(%esi), %eax # mmap->base_addr_low - movl %eax, (%edi) - - movl 8(%esi), %eax # mmap->base_addr_high - movl %eax, 4(%edi) - - movl 12(%esi), %eax # mmap->length_low - movl %eax, 8(%edi) - - movl 16(%esi), %eax # mmap->length_high - movl %eax, 12(%edi) - - movl 20(%esi), %eax # mmap->type - movl %eax, 16(%edi) - - movl (%esi), %eax # mmap->size - addl $0x4, %eax - addl %eax, %esi - subl %eax, %ecx - addl $MEMMAP_E820_RECORD_SIZE, %edi - incl %edx - jmp mmap_loop - - mmap_end: - - mmap_invalid: - movl %edx, e820counter - invalid_boot: #ifdef CONFIG_SMP diff --git a/kernel/arch/xen32/src/smp b/kernel/arch/xen32/src/smp deleted file mode 120000 index 853c030e3..000000000 --- a/kernel/arch/xen32/src/smp +++ /dev/null @@ -1 +0,0 @@ -../../ia32/src/smp \ No newline at end of file -- 2.11.4.GIT