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 
12 OUTPUT_FORMAT("elf32-i386")
13 OUTPUT_ARCH(i386)
14 ENTRY(pa_text_start)
15 
16 SECTIONS
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