/* SPDX-License-Identifier: GPL-2.0-only */ /* * Linker script for Hexagon kernel * * Copyright (c) 2010-2014, The Linux Foundation. All rights reserved. */ #include #include /* Most of the kernel defines are here */ #include /* except for page_offset */ #include /* and now we're pulling cache line size */ #include /* and we need THREAD_SIZE too */ OUTPUT_ARCH(hexagon) ENTRY(stext) jiffies = jiffies_64; /* See asm-generic/vmlinux.lds.h for expansion of some of these macros. See asm-generic/sections.h for seemingly required labels. */ #define PAGE_SIZE _PAGE_SIZE SECTIONS { . = PAGE_OFFSET; __init_begin = .; HEAD_TEXT_SECTION INIT_TEXT_SECTION(PAGE_SIZE) PERCPU_SECTION(L1_CACHE_BYTES) __init_end = .; . = ALIGN(_PAGE_SIZE); _stext = .; .text : AT(ADDR(.text)) { _text = .; TEXT_TEXT SCHED_TEXT CPUIDLE_TEXT LOCK_TEXT KPROBES_TEXT *(.fixup) } _etext = .; INIT_DATA_SECTION(PAGE_SIZE) _sdata = .; RW_DATA_SECTION(32,PAGE_SIZE,_THREAD_SIZE) RO_DATA_SECTION(PAGE_SIZE) _edata = .; EXCEPTION_TABLE(16) NOTES BSS_SECTION(_PAGE_SIZE, _PAGE_SIZE, _PAGE_SIZE) _end = .; /DISCARD/ : { EXIT_TEXT EXIT_DATA EXIT_CALL } STABS_DEBUG DWARF_DEBUG }