~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/microblaze/kernel/vmlinux.lds.S

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /*
  2  * Copyright (C) 2008-2009 Michal Simek <monstr@monstr.eu>
  3  * Copyright (C) 2008-2009 PetaLogix
  4  * Copyright (C) 2006 Atmark Techno, Inc.
  5  *
  6  * This file is subject to the terms and conditions of the GNU General Public
  7  * License. See the file "COPYING" in the main directory of this archive
  8  * for more details.
  9  */
 10 
 11 OUTPUT_ARCH(microblaze)
 12 ENTRY(microblaze_start)
 13 
 14 #define RO_EXCEPTION_TABLE_ALIGN        16
 15 
 16 #include <asm/cache.h>
 17 #include <asm/page.h>
 18 #include <asm-generic/vmlinux.lds.h>
 19 #include <asm/thread_info.h>
 20 
 21 #ifdef __MICROBLAZEEL__
 22 jiffies = jiffies_64;
 23 #else
 24 jiffies = jiffies_64 + 4;
 25 #endif
 26 
 27 SECTIONS {
 28         . = CONFIG_KERNEL_START;
 29         microblaze_start = CONFIG_KERNEL_BASE_ADDR;
 30         .text : AT(ADDR(.text) - LOAD_OFFSET) {
 31                 _text = . ;
 32                 _stext = . ;
 33                 HEAD_TEXT
 34                 TEXT_TEXT
 35                 *(.fixup)
 36                 EXIT_TEXT
 37                 EXIT_CALL
 38                 SCHED_TEXT
 39                 LOCK_TEXT
 40                 KPROBES_TEXT
 41                 IRQENTRY_TEXT
 42                 SOFTIRQENTRY_TEXT
 43                 . = ALIGN (4) ;
 44                 _etext = . ;
 45         }
 46 
 47         . = ALIGN (8) ;
 48         __fdt_blob : AT(ADDR(__fdt_blob) - LOAD_OFFSET) {
 49                 _fdt_start = . ;                /* place for fdt blob */
 50                 *(__fdt_blob) ;                 /* Any link-placed DTB */
 51                 . = _fdt_start + 0x10000;       /* Pad up to 64kbyte */
 52                 _fdt_end = . ;
 53         }
 54 
 55         . = ALIGN(16);
 56         RO_DATA(4096)
 57 
 58         /*
 59          * sdata2 section can go anywhere, but must be word aligned
 60          * and SDA2_BASE must point to the middle of it
 61          */
 62         .sdata2 : AT(ADDR(.sdata2) - LOAD_OFFSET) {
 63                 _ssrw = .;
 64                 . = ALIGN(PAGE_SIZE); /* page aligned when MMU used */
 65                 *(.sdata2)
 66         . = ALIGN(8);
 67         _essrw = .;
 68         _ssrw_size = _essrw - _ssrw;
 69         _KERNEL_SDA2_BASE_ = _ssrw + (_ssrw_size / 2);
 70         }
 71 
 72         _sdata = . ;
 73         RW_DATA(32, PAGE_SIZE, THREAD_SIZE)
 74         _edata = . ;
 75 
 76         /* Under the microblaze ABI, .sdata and .sbss must be contiguous */
 77         . = ALIGN(8);
 78         .sdata : AT(ADDR(.sdata) - LOAD_OFFSET) {
 79                 _ssro = .;
 80                 *(.sdata)
 81         }
 82 
 83         .sbss : AT(ADDR(.sbss) - LOAD_OFFSET) {
 84                 _ssbss = .;
 85                 *(.sbss)
 86                 _esbss = .;
 87                 _essro = .;
 88                 _ssro_size = _essro - _ssro ;
 89                 _KERNEL_SDA_BASE_ = _ssro + (_ssro_size / 2) ;
 90         }
 91 
 92         PERCPU_SECTION(L1_CACHE_BYTES)
 93 
 94         . = ALIGN(PAGE_SIZE);
 95         __init_begin = .;
 96 
 97         INIT_TEXT_SECTION(PAGE_SIZE)
 98 
 99         .init.data : AT(ADDR(.init.data) - LOAD_OFFSET) {
100                 INIT_DATA
101         }
102 
103         . = ALIGN(4);
104         .init.ivt : AT(ADDR(.init.ivt) - LOAD_OFFSET) {
105                 __ivt_start = .;
106                 *(.init.ivt)
107                 __ivt_end = .;
108         }
109 
110         .init.setup : AT(ADDR(.init.setup) - LOAD_OFFSET) {
111                 INIT_SETUP(0)
112         }
113 
114         .initcall.init : AT(ADDR(.initcall.init) - LOAD_OFFSET ) {
115                 INIT_CALLS
116         }
117 
118         .con_initcall.init : AT(ADDR(.con_initcall.init) - LOAD_OFFSET) {
119                 CON_INITCALL
120         }
121 
122         __init_end_before_initramfs = .;
123 
124         .init.ramfs : AT(ADDR(.init.ramfs) - LOAD_OFFSET) {
125                 INIT_RAM_FS
126         }
127 
128         __init_end = .;
129 
130         .bss ALIGN (PAGE_SIZE) : AT(ADDR(.bss) - LOAD_OFFSET) {
131                 /* page aligned when MMU used */
132                 __bss_start = . ;
133                         *(.bss*)
134                         *(COMMON)
135                 . = ALIGN (4) ;
136                 __bss_stop = . ;
137         }
138         . = ALIGN(PAGE_SIZE);
139         _end = .;
140 
141         DISCARDS
142 }

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php