1b3266bd6SJarkko Sakkinen/*
2b3266bd6SJarkko Sakkinen * realmode.lds.S
3b3266bd6SJarkko Sakkinen *
4b3266bd6SJarkko Sakkinen * Linker script for the real-mode code
5b3266bd6SJarkko Sakkinen */
6b3266bd6SJarkko Sakkinen
7b3266bd6SJarkko Sakkinen#include <asm/page_types.h>
8b3266bd6SJarkko Sakkinen
9b3266bd6SJarkko Sakkinen#undef i386
10b3266bd6SJarkko Sakkinen
11b3266bd6SJarkko SakkinenOUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
12b3266bd6SJarkko SakkinenOUTPUT_ARCH(i386)
13b3266bd6SJarkko Sakkinen
14b3266bd6SJarkko SakkinenSECTIONS
15b3266bd6SJarkko Sakkinen{
16b3266bd6SJarkko Sakkinen	real_mode_seg = 0;
17b3266bd6SJarkko Sakkinen
18b3266bd6SJarkko Sakkinen	. = 0;
19b3266bd6SJarkko Sakkinen	.header : {
20b3266bd6SJarkko Sakkinen		pa_real_mode_base = .;
21b3266bd6SJarkko Sakkinen		*(.header)
22b3266bd6SJarkko Sakkinen	}
23b3266bd6SJarkko Sakkinen
24b3266bd6SJarkko Sakkinen	. = ALIGN(4);
25b3266bd6SJarkko Sakkinen	.rodata : {
26b3266bd6SJarkko Sakkinen		*(.rodata)
27b3266bd6SJarkko Sakkinen		*(.rodata.*)
28b3266bd6SJarkko Sakkinen	}
29b3266bd6SJarkko Sakkinen
30b3266bd6SJarkko Sakkinen	. = ALIGN(PAGE_SIZE);
31b3266bd6SJarkko Sakkinen	.text : {
32b3266bd6SJarkko Sakkinen		pa_text_start = .;
33b3266bd6SJarkko Sakkinen		*(.text)
34b3266bd6SJarkko Sakkinen		*(.text.*)
35b3266bd6SJarkko Sakkinen	}
36b3266bd6SJarkko Sakkinen
37b3266bd6SJarkko Sakkinen	.text32 : {
38b3266bd6SJarkko Sakkinen		*(.text32)
39b3266bd6SJarkko Sakkinen		*(.text32.*)
40b3266bd6SJarkko Sakkinen		pa_ro_end = .;
41b3266bd6SJarkko Sakkinen	}
42b3266bd6SJarkko Sakkinen
43b3266bd6SJarkko Sakkinen	. = ALIGN(PAGE_SIZE);
44b3266bd6SJarkko Sakkinen	.data : {
45b3266bd6SJarkko Sakkinen		*(.data)
46b3266bd6SJarkko Sakkinen		*(.data.*)
47b3266bd6SJarkko Sakkinen	}
48b3266bd6SJarkko Sakkinen
49b3266bd6SJarkko Sakkinen	. = ALIGN(128);
50b3266bd6SJarkko Sakkinen	.bss : {
51b3266bd6SJarkko Sakkinen		*(.bss*)
52b3266bd6SJarkko Sakkinen	}
53b3266bd6SJarkko Sakkinen
54b3266bd6SJarkko Sakkinen	/* End signature for integrity checking */
55b3266bd6SJarkko Sakkinen	. = ALIGN(4);
56b3266bd6SJarkko Sakkinen	.signature : {
57b3266bd6SJarkko Sakkinen		*(.signature)
58b3266bd6SJarkko Sakkinen		pa_end = .;
59b3266bd6SJarkko Sakkinen	}
60b3266bd6SJarkko Sakkinen
61b3266bd6SJarkko Sakkinen	/DISCARD/ : {
62b3266bd6SJarkko Sakkinen		*(.note*)
63b3266bd6SJarkko Sakkinen		*(.debug*)
64b3266bd6SJarkko Sakkinen		*(.eh_frame*)
65b3266bd6SJarkko Sakkinen	}
66b3266bd6SJarkko Sakkinen
67b3266bd6SJarkko Sakkinen#include "pasyms.h"
68b3266bd6SJarkko Sakkinen}
69