xref: /kvm-unit-tests/s390x/snippets/c/flat.lds.S (revision 5be877f208f17a07a2d8f1bd86f254705029d061)
1SECTIONS
2{
3	.lowcore : {
4		/*
5		 * Initial short psw for disk boot, with 31 bit addressing for
6		 * non z/Arch environment compatibility and the instruction
7		 * address 0x4000 (cstart.S .init).
8		 */
9		. = 0;
10		lowcore = .;
11		 LONG(0x00080000)
12		 LONG(0x80004000)
13		 /* Restart new PSW for booting via PSW restart. */
14		 . = 0x1a0;
15		 QUAD(0x0000000180000000)
16		 QUAD(0x0000000000004000)
17	}
18	. = 0x4000;
19	/*
20	 * The stack grows down from 0x4000 to 0x2000, we pre-allocoate
21	 * a frame via the -160.
22	 */
23	stackptr = . - 160;
24	stacktop = .;
25	/* Start text 0x4000 */
26	.text : {
27		*(.init)
28		*(.text)
29		*(.text.*)
30	}
31	. = ALIGN(4K);
32	etext = .;
33	/* End text */
34	/* Start data */
35	.data : {
36		*(.data)
37		*(.data.rel*)
38	}
39	. = ALIGN(16);
40	.rodata : { *(.rodata) *(.rodata.*) }
41	. = ALIGN(16);
42	.bss : { *(.bss) }
43	/* End data */
44}
45