xref: /linux/drivers/firmware/efi/libstub/zboot.lds (revision df9c299371054cb725eef730fd0f1d0fe2ed6bb0)
1/* SPDX-License-Identifier: GPL-2.0 */
2
3ENTRY(__efistub_efi_zboot_header);
4
5PROVIDE(zboot_code_size = ABSOLUTE(0));
6
7SECTIONS
8{
9	.head : ALIGN(4096) {
10		*(.head)
11	}
12
13	.text : {
14		*(.text* .init.text*)
15	}
16
17	.rodata : ALIGN(8) {
18		__efistub__gzdata_start = .;
19		*(.gzdata)
20		__efistub_payload_size = . - 4;
21		__efistub__gzdata_end = .;
22		*(.rodata* .init.rodata* .srodata*)
23
24		. = ALIGN(4);
25		__efistub_code_size = .;
26		LONG(zboot_code_size);
27
28		_etext = ALIGN(4096);
29		. = _etext;
30	}
31
32#ifdef CONFIG_EFI_SBAT
33        .sbat : ALIGN(4096) {
34		_sbat = .;
35		*(.sbat)
36		_esbat = ALIGN(4096);
37		. = _esbat;
38	}
39#endif
40
41	.data : ALIGN(4096) {
42		_data = .;
43		*(.data* .init.data*)
44		_edata = ALIGN(512);
45		. = _edata;
46	}
47
48	.bss : {
49		*(.bss* .init.bss*)
50		_end = ALIGN(512);
51		. = _end;
52	}
53
54	/DISCARD/ : {
55		*(.discard .discard.*)
56		*(.modinfo .init.modinfo)
57	}
58}
59
60PROVIDE(__efistub__gzdata_size =
61		ABSOLUTE(__efistub__gzdata_end - __efistub__gzdata_start));
62
63PROVIDE(__data_rawsize = ABSOLUTE(_edata - _etext));
64PROVIDE(__data_size = ABSOLUTE(_end - _etext));
65PROVIDE(__sbat_size = ABSOLUTE(_esbat - _sbat));
66