1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- /*
- * Linker script for Hexagon kernel
- *
- * Copyright (c) 2010-2011, The Linux Foundation. All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 and
- * only version 2 as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA.
- */
- #define LOAD_OFFSET PAGE_OFFSET
- #include <asm-generic/vmlinux.lds.h>
- #include <asm/asm-offsets.h> /* Most of the kernel defines are here */
- #include <asm/mem-layout.h> /* except for page_offset */
- #include <asm/cache.h> /* and now we're pulling cache line size */
- 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
- /* This LOAD_OFFSET is temporary for debugging on the simulator; it may change
- for hypervisor pseudo-physical memory. */
- SECTIONS
- {
- . = PAGE_OFFSET + LOAD_ADDRESS;
- __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) - LOAD_OFFSET) {
- _text = .;
- TEXT_TEXT
- SCHED_TEXT
- LOCK_TEXT
- KPROBES_TEXT
- *(.fixup)
- }
- _etext = .;
- INIT_DATA_SECTION(PAGE_SIZE)
- _sdata = .;
- RW_DATA_SECTION(32,PAGE_SIZE,PAGE_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
- }
|