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.*)
28c9b77ccbSJarkko Sakkinen		. = ALIGN(16);
29c9b77ccbSJarkko Sakkinen		video_cards = .;
30c9b77ccbSJarkko Sakkinen		*(.videocards)
31c9b77ccbSJarkko Sakkinen		video_cards_end = .;
32b3266bd6SJarkko Sakkinen	}
33b3266bd6SJarkko Sakkinen
34b3266bd6SJarkko Sakkinen	. = ALIGN(PAGE_SIZE);
35b3266bd6SJarkko Sakkinen	.text : {
36b3266bd6SJarkko Sakkinen		pa_text_start = .;
37b3266bd6SJarkko Sakkinen		*(.text)
38b3266bd6SJarkko Sakkinen		*(.text.*)
39b3266bd6SJarkko Sakkinen	}
40b3266bd6SJarkko Sakkinen
41b3266bd6SJarkko Sakkinen	.text32 : {
42b3266bd6SJarkko Sakkinen		*(.text32)
43b3266bd6SJarkko Sakkinen		*(.text32.*)
44b3266bd6SJarkko Sakkinen		pa_ro_end = .;
45b3266bd6SJarkko Sakkinen	}
46b3266bd6SJarkko Sakkinen
47b3266bd6SJarkko Sakkinen	. = ALIGN(PAGE_SIZE);
48b3266bd6SJarkko Sakkinen	.data : {
49b3266bd6SJarkko Sakkinen		*(.data)
50b3266bd6SJarkko Sakkinen		*(.data.*)
51b3266bd6SJarkko Sakkinen	}
52b3266bd6SJarkko Sakkinen
53b3266bd6SJarkko Sakkinen	. = ALIGN(128);
54b3266bd6SJarkko Sakkinen	.bss : {
55b3266bd6SJarkko Sakkinen		*(.bss*)
56b3266bd6SJarkko Sakkinen	}
57b3266bd6SJarkko Sakkinen
58b3266bd6SJarkko Sakkinen	/* End signature for integrity checking */
59b3266bd6SJarkko Sakkinen	. = ALIGN(4);
60b3266bd6SJarkko Sakkinen	.signature : {
61b3266bd6SJarkko Sakkinen		*(.signature)
62b3266bd6SJarkko Sakkinen		pa_end = .;
63b3266bd6SJarkko Sakkinen	}
64b3266bd6SJarkko Sakkinen
65b3266bd6SJarkko Sakkinen	/DISCARD/ : {
66b3266bd6SJarkko Sakkinen		*(.note*)
67b3266bd6SJarkko Sakkinen		*(.debug*)
68b3266bd6SJarkko Sakkinen		*(.eh_frame*)
69b3266bd6SJarkko Sakkinen	}
70b3266bd6SJarkko Sakkinen
71b3266bd6SJarkko Sakkinen#include "pasyms.h"
72b3266bd6SJarkko Sakkinen}
73