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