cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

vmlinux.lds.S (1431B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2
      3#define EMITS_PT_NOTE
      4#define RO_EXCEPTION_TABLE_ALIGN	16
      5
      6#include <asm-generic/vmlinux.lds.h>
      7#include <asm/thread_info.h>
      8#include <asm/cache.h>
      9#include <asm/page.h>
     10#include <asm/setup.h>
     11
     12OUTPUT_FORMAT("elf64-alpha")
     13OUTPUT_ARCH(alpha)
     14ENTRY(__start)
     15PHDRS { text PT_LOAD; note PT_NOTE; }
     16jiffies = jiffies_64;
     17SECTIONS
     18{
     19#ifdef CONFIG_ALPHA_LEGACY_START_ADDRESS
     20	. = 0xfffffc0000310000;
     21#else
     22	. = 0xfffffc0001010000;
     23#endif
     24
     25	_text = .;	/* Text and read-only data */
     26	.text : {
     27		HEAD_TEXT
     28		TEXT_TEXT
     29		SCHED_TEXT
     30		CPUIDLE_TEXT
     31		LOCK_TEXT
     32		*(.fixup)
     33		*(.gnu.warning)
     34	} :text
     35	swapper_pg_dir = SWAPPER_PGD;
     36	_etext = .;	/* End of text section */
     37
     38	RO_DATA(4096)
     39
     40	/* Will be freed after init */
     41	__init_begin = ALIGN(PAGE_SIZE);
     42	INIT_TEXT_SECTION(PAGE_SIZE)
     43	INIT_DATA_SECTION(16)
     44	PERCPU_SECTION(L1_CACHE_BYTES)
     45	/* Align to THREAD_SIZE rather than PAGE_SIZE here so any padding page
     46	   needed for the THREAD_SIZE aligned init_task gets freed after init */
     47	. = ALIGN(THREAD_SIZE);
     48	__init_end = .;
     49	/* Freed after init ends here */
     50
     51	_sdata = .;	/* Start of rw data section */
     52	_data = .;
     53	RW_DATA(L1_CACHE_BYTES, PAGE_SIZE, THREAD_SIZE)
     54
     55	.got : {
     56		*(.got)
     57	}
     58	.sdata : {
     59		*(.sdata)
     60	}
     61	_edata = .;	/* End of data section */
     62
     63	BSS_SECTION(0, 0, 0)
     64	_end = .;
     65
     66	.mdebug 0 : {
     67		*(.mdebug)
     68	}
     69	.note 0 : {
     70		*(.note)
     71	}
     72
     73	STABS_DEBUG
     74	DWARF_DEBUG
     75	ELF_DETAILS
     76
     77	DISCARDS
     78}