source: mainline/arch/ia32/_link.ld.in@ ecbdc724

lfn serial ticket/834-toolchain-update topic/msim-upgrade topic/simplify-dev-export
Last change on this file since ecbdc724 was 66def8d, checked in by Martin Decky <martin@…>, 20 years ago

simplify and cleanup ia32 boot process, remove obsolete stuff

  • Property mode set to 100644
File size: 1.6 KB
RevLine 
[da585a52]1/** IA-32 linker script
[f761f1eb]2 *
[dcbc8be]3 * umapped section:
4 * kernel text
5 * kernel data
6 * mapped section:
7 * kernel text
8 * kernel data
[f761f1eb]9 */
10
[1b492b5]11#define __ASM__
12#include <arch/boot/boot.h>
13#include <arch/mm/page.h>
14
[f761f1eb]15SECTIONS {
[66def8d]16 .unmapped BOOT_OFFSET: AT (0) {
[ac5d02b]17 unmapped_ktext_start = .;
18 *(K_TEXT_START);
19 unmapped_ktext_end = .;
[941d1e9]20
[ac5d02b]21 unmapped_kdata_start = .;
22 *(K_DATA_START);
23 unmapped_kdata_end = .;
24 }
[f6297e0]25
[66def8d]26 .mapped (PA2KA(BOOT_OFFSET)+SIZEOF(.unmapped)): AT (SIZEOF(.unmapped)) {
[ac5d02b]27 ktext_start = .;
28 *(.text);
29 ktext_end = .;
[f6297e0]30
[ac5d02b]31 kdata_start = .;
[ddd9486]32 *(.data); /* initialized data */
33 *(.rodata*); /* string literals */
34 *(COMMON); /* global variables */
[c832cc0a]35 hardcoded_load_address = .;
[66def8d]36 LONG(PA2KA(BOOT_OFFSET));
[c832cc0a]37 hardcoded_ktext_size = .;
[9060bd1]38 LONG((ktext_end - ktext_start) + (unmapped_ktext_end - unmapped_ktext_start));
[c832cc0a]39 hardcoded_kdata_size = .;
[9060bd1]40 LONG((kdata_end - kdata_start) + (unmapped_kdata_end - unmapped_kdata_start));
[f6297e0]41 hardcoded_unmapped_ktext_size = .;
42 LONG(unmapped_ktext_end - unmapped_ktext_start);
43 hardcoded_unmapped_kdata_size = .;
44 LONG(unmapped_kdata_end - unmapped_kdata_start);
[ab08b42]45 symbol_table = .;
[ddd9486]46 *(symtab.*); /* Symbol table, must be LAST symbol! */
[3550c393]47 *(.bss); /* uninitialized static variables */
[ac5d02b]48 kdata_end = .;
49 }
[941d1e9]50
51 /DISCARD/ : {
52 *(.note.GNU-stack);
53 *(.comment);
54 }
[5dce48b9]55
[66def8d]56#ifdef CONFIG_SMP
[f6297e0]57
[66def8d]58 _hardcoded_unmapped_size = (unmapped_ktext_end - unmapped_ktext_start) + (unmapped_kdata_end - unmapped_kdata_start);
59 ap_boot = unmapped_ap_boot - BOOT_OFFSET + AP_BOOT_OFFSET;
60 ap_gdtr = unmapped_ap_gdtr - BOOT_OFFSET + AP_BOOT_OFFSET;
61 protected_ap_gdtr = PA2KA(ap_gdtr);
62
63#endif /* CONFIG_SMP */
64
[f761f1eb]65}
Note: See TracBrowser for help on using the repository browser.