diff options
| -rw-r--r-- | arch/arm64/kernel/head.S | 10 | ||||
| -rw-r--r-- | arch/arm64/kernel/vmlinux.lds.S | 2 |
2 files changed, 0 insertions, 12 deletions
diff --git a/arch/arm64/kernel/head.S b/arch/arm64/kernel/head.S index c68cca5c3523..0b281fffda51 100644 --- a/arch/arm64/kernel/head.S +++ b/arch/arm64/kernel/head.S | |||
| @@ -482,8 +482,6 @@ ENDPROC(__create_page_tables) | |||
| 482 | .type __switch_data, %object | 482 | .type __switch_data, %object |
| 483 | __switch_data: | 483 | __switch_data: |
| 484 | .quad __mmap_switched | 484 | .quad __mmap_switched |
| 485 | .quad __data_loc // x4 | ||
| 486 | .quad _data // x5 | ||
| 487 | .quad __bss_start // x6 | 485 | .quad __bss_start // x6 |
| 488 | .quad _end // x7 | 486 | .quad _end // x7 |
| 489 | .quad processor_id // x4 | 487 | .quad processor_id // x4 |
| @@ -498,15 +496,7 @@ __switch_data: | |||
| 498 | __mmap_switched: | 496 | __mmap_switched: |
| 499 | adr x3, __switch_data + 8 | 497 | adr x3, __switch_data + 8 |
| 500 | 498 | ||
| 501 | ldp x4, x5, [x3], #16 | ||
| 502 | ldp x6, x7, [x3], #16 | 499 | ldp x6, x7, [x3], #16 |
| 503 | cmp x4, x5 // Copy data segment if needed | ||
| 504 | 1: ccmp x5, x6, #4, ne | ||
| 505 | b.eq 2f | ||
| 506 | ldr x16, [x4], #8 | ||
| 507 | str x16, [x5], #8 | ||
| 508 | b 1b | ||
| 509 | 2: | ||
| 510 | 1: cmp x6, x7 | 500 | 1: cmp x6, x7 |
| 511 | b.hs 2f | 501 | b.hs 2f |
| 512 | str xzr, [x6], #8 // Clear BSS | 502 | str xzr, [x6], #8 // Clear BSS |
diff --git a/arch/arm64/kernel/vmlinux.lds.S b/arch/arm64/kernel/vmlinux.lds.S index 842ca8be5877..4ba7a55b49c7 100644 --- a/arch/arm64/kernel/vmlinux.lds.S +++ b/arch/arm64/kernel/vmlinux.lds.S | |||
| @@ -99,11 +99,9 @@ SECTIONS | |||
| 99 | 99 | ||
| 100 | . = ALIGN(PAGE_SIZE); | 100 | . = ALIGN(PAGE_SIZE); |
| 101 | _data = .; | 101 | _data = .; |
| 102 | __data_loc = _data - LOAD_OFFSET; | ||
| 103 | _sdata = .; | 102 | _sdata = .; |
| 104 | RW_DATA_SECTION(64, PAGE_SIZE, THREAD_SIZE) | 103 | RW_DATA_SECTION(64, PAGE_SIZE, THREAD_SIZE) |
| 105 | _edata = .; | 104 | _edata = .; |
| 106 | _edata_loc = __data_loc + SIZEOF(.data); | ||
| 107 | 105 | ||
| 108 | BSS_SECTION(0, 0, 0) | 106 | BSS_SECTION(0, 0, 0) |
| 109 | _end = .; | 107 | _end = .; |
