|
@@ -1,63 +1,3 @@
|
|
|
- /* init_task */
|
|
|
- . = ALIGN(THREAD_SIZE);
|
|
|
- .data.init_task : AT(ADDR(.data.init_task) - LOAD_OFFSET) {
|
|
|
- *(.data.init_task)
|
|
|
- }
|
|
|
-
|
|
|
- . = ALIGN(PAGE_SIZE);
|
|
|
- .smp_locks : AT(ADDR(.smp_locks) - LOAD_OFFSET) {
|
|
|
- /* might get freed after init */
|
|
|
- __smp_locks = .;
|
|
|
- *(.smp_locks)
|
|
|
- __smp_locks_end = .;
|
|
|
- }
|
|
|
- /* will be freed after init
|
|
|
- * Following ALIGN() is required to make sure no other data falls on the
|
|
|
- * same page where __smp_alt_end is pointing as that page might be freed
|
|
|
- * after boot. Always make sure that ALIGN() directive is present after
|
|
|
- * the section which contains __smp_alt_end.
|
|
|
- */
|
|
|
- . = ALIGN(PAGE_SIZE);
|
|
|
-
|
|
|
- /* Init code and data - will be freed after init */
|
|
|
- . = ALIGN(PAGE_SIZE);
|
|
|
- .init.text : AT(ADDR(.init.text) - LOAD_OFFSET) {
|
|
|
- __init_begin = .;
|
|
|
- _sinittext = .;
|
|
|
- INIT_TEXT
|
|
|
- _einittext = .;
|
|
|
- }
|
|
|
-
|
|
|
- .init.data : AT(ADDR(.init.data) - LOAD_OFFSET) {
|
|
|
- INIT_DATA
|
|
|
- }
|
|
|
-
|
|
|
- . = ALIGN(16);
|
|
|
- .init.setup : AT(ADDR(.init.setup) - LOAD_OFFSET) {
|
|
|
- __setup_start = .;
|
|
|
- *(.init.setup)
|
|
|
- __setup_end = .;
|
|
|
- }
|
|
|
- .initcall.init : AT(ADDR(.initcall.init) - LOAD_OFFSET) {
|
|
|
- __initcall_start = .;
|
|
|
- INITCALLS
|
|
|
- __initcall_end = .;
|
|
|
- }
|
|
|
-
|
|
|
- .con_initcall.init : AT(ADDR(.con_initcall.init) - LOAD_OFFSET) {
|
|
|
- __con_initcall_start = .;
|
|
|
- *(.con_initcall.init)
|
|
|
- __con_initcall_end = .;
|
|
|
- }
|
|
|
-
|
|
|
- .x86_cpu_dev.init : AT(ADDR(.x86_cpu_dev.init) - LOAD_OFFSET) {
|
|
|
- __x86_cpu_dev_start = .;
|
|
|
- *(.x86_cpu_dev.init)
|
|
|
- __x86_cpu_dev_end = .;
|
|
|
- }
|
|
|
-
|
|
|
- SECURITY_INIT
|
|
|
-
|
|
|
. = ALIGN(4);
|
|
|
.altinstructions : AT(ADDR(.altinstructions) - LOAD_OFFSET) {
|
|
|
__alt_instructions = .;
|