Blame view

arch/m68k/kernel/vmlinux-nommu.lds 1.43 KB
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1
2
3
  /*
   *	vmlinux.lds.S -- master linker script for m68knommu arch
   *
f84f52a5c   Greg Ungerer   m68knommu: clean ...
4
   *	(C) Copyright 2002-2012, Greg Ungerer <gerg@snapgear.com>
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
5
   *
25985edce   Lucas De Marchi   Fix common misspe...
6
   *	This linker script is equipped to build either ROM loaded or RAM
1c952af54   Greg Ungerer   [PATCH] m68knommu...
7
   *	run kernels.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
8
   */
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
9
  #if defined(CONFIG_RAMKERNEL)
f84f52a5c   Greg Ungerer   m68knommu: clean ...
10
  #define	KTEXT_ADDR	CONFIG_KERNELBASE
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
11
  #endif
f84f52a5c   Greg Ungerer   m68knommu: clean ...
12
13
14
15
  #if defined(CONFIG_ROMKERNEL)
  #define	KTEXT_ADDR	CONFIG_ROMSTART
  #define	KDATA_ADDR	CONFIG_KERNELBASE
  #define	LOAD_OFFSET	KDATA_ADDR + (ADDR(.text) + SIZEOF(.text))
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
16
  #endif
f84f52a5c   Greg Ungerer   m68knommu: clean ...
17
18
19
  #include <asm/page.h>
  #include <asm/thread_info.h>
  #include <asm-generic/vmlinux.lds.h>
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
20
21
22
  
  OUTPUT_ARCH(m68k)
  ENTRY(_start)
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
23
24
25
  jiffies = jiffies_64 + 4;
  
  SECTIONS {
f84f52a5c   Greg Ungerer   m68knommu: clean ...
26
27
  #ifdef CONFIG_ROMVEC
  	. = CONFIG_ROMVEC;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
28
  	.romvec : {
f84f52a5c   Greg Ungerer   m68knommu: clean ...
29
  		__rom_start = .;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
30
  		_romvec = .;
f84f52a5c   Greg Ungerer   m68knommu: clean ...
31
  		*(.romvec)
2c31c341a   Denys Vlasenko   Rename .data.init...
32
  		*(.data..initvect)
f84f52a5c   Greg Ungerer   m68knommu: clean ...
33
  	}
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
34
  #endif
f84f52a5c   Greg Ungerer   m68knommu: clean ...
35
36
37
38
  	. = KTEXT_ADDR;
  
  	_text = .;
  	_stext = .;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
39
  	.text : {
9b0e74102   Greg Ungerer   m68knommu: put Co...
40
  		HEAD_TEXT
7664709b4   Sam Ravnborg   all-archs: consol...
41
  		TEXT_TEXT
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
42
  		SCHED_TEXT
779125c27   Sebastian Siewior   m68knommu: add so...
43
  		LOCK_TEXT
ed865e31a   Greg Ungerer   m68k: use non-MMU...
44
  		*(.fixup)
f84f52a5c   Greg Ungerer   m68knommu: clean ...
45
46
47
48
49
50
51
52
53
54
55
56
  		. = ALIGN(16);
  	}
  	_etext = .;
  
  #ifdef KDATA_ADDR
  	. = KDATA_ADDR;
  #endif
  
  	_sdata = .;
  	RO_DATA_SECTION(PAGE_SIZE)
  	RW_DATA_SECTION(16, PAGE_SIZE, THREAD_SIZE)
  	_edata = .;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
57

f84f52a5c   Greg Ungerer   m68knommu: clean ...
58
59
  	EXCEPTION_TABLE(16)
  	NOTES
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
60

f84f52a5c   Greg Ungerer   m68knommu: clean ...
61
62
63
64
65
  	. = ALIGN(PAGE_SIZE);
  	__init_begin = .;
  	INIT_TEXT_SECTION(PAGE_SIZE)
  	INIT_DATA_SECTION(16)
  	PERCPU_SECTION(16)
ed865e31a   Greg Ungerer   m68k: use non-MMU...
66
67
68
69
  	.m68k_fixup : {
  		__start_fixup = .;
  		*(.m68k_fixup)
  		__stop_fixup = .;
f84f52a5c   Greg Ungerer   m68knommu: clean ...
70
  	}
53749f735   Tim Abbott   m68knommu: Split ...
71
  	.init.data : {
f4bed4fb1   Tim Abbott   m68knommu: Don't ...
72
  		. = ALIGN(PAGE_SIZE);
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
73
  		__init_end = .;
f84f52a5c   Greg Ungerer   m68knommu: clean ...
74
  	}
f84f52a5c   Greg Ungerer   m68knommu: clean ...
75
  	BSS_SECTION(0, 0, 0)
f84f52a5c   Greg Ungerer   m68knommu: clean ...
76
77
78
79
80
  
  	_end = .;
  
  	STABS_DEBUG
  	.comment 0 : { *(.comment) }
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
81

f84f52a5c   Greg Ungerer   m68knommu: clean ...
82
  	/* Sections to be discarded */
023bf6f1b   Tejun Heo   linker script: un...
83
  	DISCARDS
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
84
  }