linux/arch/hexagon/kernel/vmlinux.lds.S
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0-only */
   2/*
   3 * Linker script for Hexagon kernel
   4 *
   5 * Copyright (c) 2010-2014, The Linux Foundation. All rights reserved.
   6 */
   7
   8#include <asm-generic/vmlinux.lds.h>
   9#include <asm/asm-offsets.h>    /*  Most of the kernel defines are here  */
  10#include <asm/mem-layout.h>     /*  except for page_offset  */
  11#include <asm/cache.h>          /*  and now we're pulling cache line size  */
  12#include <asm/thread_info.h>    /*  and we need THREAD_SIZE too */
  13
  14OUTPUT_ARCH(hexagon)
  15ENTRY(stext)
  16
  17jiffies = jiffies_64;
  18
  19/*
  20See asm-generic/vmlinux.lds.h for expansion of some of these macros.
  21See asm-generic/sections.h for seemingly required labels.
  22*/
  23
  24#define PAGE_SIZE _PAGE_SIZE
  25
  26SECTIONS
  27{
  28        . = PAGE_OFFSET;
  29
  30        __init_begin = .;
  31        HEAD_TEXT_SECTION
  32        INIT_TEXT_SECTION(PAGE_SIZE)
  33        PERCPU_SECTION(L1_CACHE_BYTES)
  34        __init_end = .;
  35
  36        . = ALIGN(_PAGE_SIZE);
  37        _stext = .;
  38        .text : AT(ADDR(.text)) {
  39                _text = .;
  40                TEXT_TEXT
  41                SCHED_TEXT
  42                CPUIDLE_TEXT
  43                LOCK_TEXT
  44                KPROBES_TEXT
  45                *(.fixup)
  46        }
  47        _etext = .;
  48
  49        INIT_DATA_SECTION(PAGE_SIZE)
  50
  51        _sdata = .;
  52                RW_DATA(32,PAGE_SIZE,_THREAD_SIZE)
  53                RO_DATA(PAGE_SIZE)
  54        _edata = .;
  55
  56        EXCEPTION_TABLE(16)
  57
  58        BSS_SECTION(_PAGE_SIZE, _PAGE_SIZE, _PAGE_SIZE)
  59
  60        _end = .;
  61
  62        /DISCARD/ : {
  63                EXIT_TEXT
  64                EXIT_DATA
  65                EXIT_CALL
  66        }
  67
  68        STABS_DEBUG
  69        DWARF_DEBUG
  70
  71}
  72