1 /* SPDX-License-Identifier: GPL-2.0 */
2 #include <linux/sizes.h>
3 #include <asm/asm-offsets.h>
4 #include <asm/thread_info.h>
6 #define PAGE_SIZE _PAGE_SIZE
9 * Put .bss..swapper_pg_dir as the first thing in .bss. This will
10 * ensure that it has .bss alignment (64K).
12 #define BSS_FIRST_SECTIONS *(.bss..swapper_pg_dir)
14 #include <asm-generic/vmlinux.lds.h>
17 * Max avaliable Page Size is 64K, so we set SectionAlignment
18 * field of EFI application to 64K.
20 PECOFF_FILE_ALIGN = 0x200;
21 PECOFF_SEGMENT_ALIGN = 0x10000;
23 OUTPUT_ARCH(loongarch)
26 text PT_LOAD FLAGS(7); /* RWX */
27 note PT_NOTE FLAGS(4); /* R__ */
34 . = VMLINUX_LOAD_ADDRESS;
39 . = ALIGN(PECOFF_SEGMENT_ALIGN);
51 . = ALIGN(PECOFF_SEGMENT_ALIGN);
56 . = ALIGN(PECOFF_SEGMENT_ALIGN);
60 INIT_TEXT_SECTION(PAGE_SIZE)
65 . = ALIGN(PECOFF_SEGMENT_ALIGN);
76 PERCPU_SECTION(1 << CONFIG_L1_CACHE_SHIFT)
82 . = ALIGN(PECOFF_SEGMENT_ALIGN);
89 RW_DATA(1 << CONFIG_L1_CACHE_SHIFT, PAGE_SIZE, THREAD_SIZE)
94 .edata_padding : { BYTE(0); . = ALIGN(PECOFF_FILE_ALIGN); }
97 BSS_SECTION(0, SZ_64K, 8)
98 . = ALIGN(PECOFF_SEGMENT_ALIGN);