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