12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- /* SPDX-License-Identifier: GPL-2.0 */
- /*
- * vmlinux.lds.S -- master linker script for m68knommu arch
- *
- * (C) Copyright 2002-2012, Greg Ungerer <[email protected]>
- *
- * This linker script is equipped to build either ROM loaded or RAM
- * run kernels.
- */
- #if defined(CONFIG_RAMKERNEL)
- #define KTEXT_ADDR CONFIG_KERNELBASE
- #endif
- #if defined(CONFIG_ROMKERNEL)
- #define KTEXT_ADDR CONFIG_ROMSTART
- #define KDATA_ADDR CONFIG_KERNELBASE
- #define LOAD_OFFSET KDATA_ADDR + (ADDR(.text) + SIZEOF(.text))
- #endif
- #include <asm/page.h>
- #include <asm/thread_info.h>
- #include <asm-generic/vmlinux.lds.h>
- OUTPUT_ARCH(m68k)
- ENTRY(_start)
- jiffies = jiffies_64 + 4;
- SECTIONS {
- #ifdef CONFIG_ROMVEC
- . = CONFIG_ROMVEC;
- .romvec : {
- __rom_start = .;
- _romvec = .;
- *(.romvec)
- *(.data..initvect)
- }
- #endif
- . = KTEXT_ADDR;
- _text = .;
- _stext = .;
- .text : {
- HEAD_TEXT
- TEXT_TEXT
- IRQENTRY_TEXT
- SOFTIRQENTRY_TEXT
- SCHED_TEXT
- CPUIDLE_TEXT
- LOCK_TEXT
- *(.fixup)
- . = ALIGN(16);
- }
- _etext = .;
- #ifdef KDATA_ADDR
- . = KDATA_ADDR;
- #endif
- _sdata = .;
- RO_DATA(PAGE_SIZE)
- RW_DATA(16, PAGE_SIZE, THREAD_SIZE)
- _edata = .;
- EXCEPTION_TABLE(16)
- . = ALIGN(PAGE_SIZE);
- __init_begin = .;
- INIT_TEXT_SECTION(PAGE_SIZE)
- INIT_DATA_SECTION(16)
- PERCPU_SECTION(16)
- .m68k_fixup : {
- __start_fixup = .;
- *(.m68k_fixup)
- __stop_fixup = .;
- }
- .init.data : {
- . = ALIGN(PAGE_SIZE);
- __init_end = .;
- }
- BSS_SECTION(4, 0, 4)
- _end = .;
- STABS_DEBUG
- ELF_DETAILS
- /* Sections to be discarded */
- DISCARDS
- }
|