root/arch/riscv/kernel/vmlinux.lds.S

/* [<][>][^][v][top][bottom][index][help] */
   1 /* SPDX-License-Identifier: GPL-2.0-only */
   2 /*
   3  * Copyright (C) 2012 Regents of the University of California
   4  * Copyright (C) 2017 SiFive
   5  */
   6 
   7 #define LOAD_OFFSET PAGE_OFFSET
   8 #include <asm/vmlinux.lds.h>
   9 #include <asm/page.h>
  10 #include <asm/cache.h>
  11 #include <asm/thread_info.h>
  12 
  13 OUTPUT_ARCH(riscv)
  14 ENTRY(_start)
  15 
  16 jiffies = jiffies_64;
  17 
  18 SECTIONS
  19 {
  20         /* Beginning of code and text segment */
  21         . = LOAD_OFFSET;
  22         _start = .;
  23         __init_begin = .;
  24         HEAD_TEXT_SECTION
  25         INIT_TEXT_SECTION(PAGE_SIZE)
  26         INIT_DATA_SECTION(16)
  27         /* we have to discard exit text and such at runtime, not link time */
  28         .exit.text :
  29         {
  30                 EXIT_TEXT
  31         }
  32         .exit.data :
  33         {
  34                 EXIT_DATA
  35         }
  36         PERCPU_SECTION(L1_CACHE_BYTES)
  37         __init_end = .;
  38 
  39         .text : {
  40                 _text = .;
  41                 _stext = .;
  42                 TEXT_TEXT
  43                 SCHED_TEXT
  44                 CPUIDLE_TEXT
  45                 LOCK_TEXT
  46                 KPROBES_TEXT
  47                 ENTRY_TEXT
  48                 IRQENTRY_TEXT
  49                 *(.fixup)
  50                 _etext = .;
  51         }
  52 
  53         /* Start of data section */
  54         _sdata = .;
  55         RO_DATA_SECTION(L1_CACHE_BYTES)
  56         .srodata : {
  57                 *(.srodata*)
  58         }
  59 
  60         RW_DATA_SECTION(L1_CACHE_BYTES, PAGE_SIZE, THREAD_SIZE)
  61         .sdata : {
  62                 __global_pointer$ = . + 0x800;
  63                 *(.sdata*)
  64                 /* End of data section */
  65                 _edata = .;
  66                 *(.sbss*)
  67         }
  68 
  69         BSS_SECTION(PAGE_SIZE, PAGE_SIZE, 0)
  70 
  71         EXCEPTION_TABLE(0x10)
  72         NOTES
  73 
  74         .rel.dyn : {
  75                 *(.rel.dyn*)
  76         }
  77 
  78         _end = .;
  79 
  80         STABS_DEBUG
  81         DWARF_DEBUG
  82 
  83         DISCARDS
  84 }

/* [<][>][^][v][top][bottom][index][help] */