|
|
|
@ -96,8 +96,7 @@ SECTIONS |
|
|
|
|
{ |
|
|
|
|
__sdata = .;
|
|
|
|
|
/* This gets done first, so the glob doesn't suck it in */ |
|
|
|
|
. = ALIGN(32);
|
|
|
|
|
*(.data.cacheline_aligned) |
|
|
|
|
CACHELINE_ALIGNED_DATA(32) |
|
|
|
|
|
|
|
|
|
#if !L1_DATA_A_LENGTH |
|
|
|
|
. = ALIGN(32);
|
|
|
|
@ -116,12 +115,7 @@ SECTIONS |
|
|
|
|
DATA_DATA |
|
|
|
|
CONSTRUCTORS |
|
|
|
|
|
|
|
|
|
/* make sure the init_task is aligned to the |
|
|
|
|
* kernel thread size so we can locate the kernel |
|
|
|
|
* stack properly and quickly. |
|
|
|
|
*/ |
|
|
|
|
. = ALIGN(THREAD_SIZE);
|
|
|
|
|
*(.init_task.data) |
|
|
|
|
INIT_TASK_DATA(THREAD_SIZE) |
|
|
|
|
|
|
|
|
|
__edata = .;
|
|
|
|
|
} |
|
|
|
@ -134,39 +128,10 @@ SECTIONS |
|
|
|
|
. = ALIGN(PAGE_SIZE);
|
|
|
|
|
___init_begin = .;
|
|
|
|
|
|
|
|
|
|
.init.text : |
|
|
|
|
{ |
|
|
|
|
. = ALIGN(PAGE_SIZE);
|
|
|
|
|
__sinittext = .;
|
|
|
|
|
INIT_TEXT |
|
|
|
|
__einittext = .;
|
|
|
|
|
} |
|
|
|
|
.init.data : |
|
|
|
|
{ |
|
|
|
|
INIT_TEXT_SECTION(PAGE_SIZE) |
|
|
|
|
. = ALIGN(16);
|
|
|
|
|
INIT_DATA |
|
|
|
|
} |
|
|
|
|
.init.setup : |
|
|
|
|
{ |
|
|
|
|
. = ALIGN(16);
|
|
|
|
|
___setup_start = .;
|
|
|
|
|
*(.init.setup) |
|
|
|
|
___setup_end = .;
|
|
|
|
|
} |
|
|
|
|
.initcall.init : |
|
|
|
|
{ |
|
|
|
|
___initcall_start = .;
|
|
|
|
|
INITCALLS |
|
|
|
|
___initcall_end = .;
|
|
|
|
|
} |
|
|
|
|
.con_initcall.init : |
|
|
|
|
{ |
|
|
|
|
___con_initcall_start = .;
|
|
|
|
|
*(.con_initcall.init) |
|
|
|
|
___con_initcall_end = .;
|
|
|
|
|
} |
|
|
|
|
INIT_DATA_SECTION(16) |
|
|
|
|
PERCPU(4) |
|
|
|
|
SECURITY_INIT |
|
|
|
|
|
|
|
|
|
/* we have to discard exit text and such at runtime, not link time, to |
|
|
|
|
* handle embedded cross-section references (alt instructions, bug |
|
|
|
@ -181,18 +146,9 @@ SECTIONS |
|
|
|
|
EXIT_DATA |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.init.ramfs : |
|
|
|
|
{ |
|
|
|
|
. = ALIGN(4);
|
|
|
|
|
___initramfs_start = .;
|
|
|
|
|
*(.init.ramfs) |
|
|
|
|
. = ALIGN(4);
|
|
|
|
|
___initramfs_end = .;
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
__l1_lma_start = .;
|
|
|
|
|
|
|
|
|
|
.text_l1 L1_CODE_START : AT(LOADADDR(.init.ramfs) + SIZEOF(.init.ramfs)) |
|
|
|
|
.text_l1 L1_CODE_START : AT(LOADADDR(.exit.data) + SIZEOF(.exit.data)) |
|
|
|
|
{ |
|
|
|
|
. = ALIGN(4);
|
|
|
|
|
__stext_l1 = .;
|
|
|
|
|