arm64: Remove unused __data_loc variable

The __data_loc variable is an unused left over from the 32 bit arm implementation.
Remove that variable and adjust the __mmap_switched startup routine accordingly.

Signed-off-by: Geoff Levand <geoff@infradead.org> for Huawei, Linaro
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
This commit is contained in:
Geoff Levand 2013-12-14 00:20:13 +00:00 committed by Catalin Marinas
parent 0a5be743e8
commit b22cf637bb
2 changed files with 0 additions and 12 deletions

View file

@ -482,8 +482,6 @@ ENDPROC(__create_page_tables)
.type __switch_data, %object .type __switch_data, %object
__switch_data: __switch_data:
.quad __mmap_switched .quad __mmap_switched
.quad __data_loc // x4
.quad _data // x5
.quad __bss_start // x6 .quad __bss_start // x6
.quad _end // x7 .quad _end // x7
.quad processor_id // x4 .quad processor_id // x4
@ -498,15 +496,7 @@ __switch_data:
__mmap_switched: __mmap_switched:
adr x3, __switch_data + 8 adr x3, __switch_data + 8
ldp x4, x5, [x3], #16
ldp x6, x7, [x3], #16 ldp x6, x7, [x3], #16
cmp x4, x5 // Copy data segment if needed
1: ccmp x5, x6, #4, ne
b.eq 2f
ldr x16, [x4], #8
str x16, [x5], #8
b 1b
2:
1: cmp x6, x7 1: cmp x6, x7
b.hs 2f b.hs 2f
str xzr, [x6], #8 // Clear BSS str xzr, [x6], #8 // Clear BSS

View file

@ -99,11 +99,9 @@ SECTIONS
. = ALIGN(PAGE_SIZE); . = ALIGN(PAGE_SIZE);
_data = .; _data = .;
__data_loc = _data - LOAD_OFFSET;
_sdata = .; _sdata = .;
RW_DATA_SECTION(64, PAGE_SIZE, THREAD_SIZE) RW_DATA_SECTION(64, PAGE_SIZE, THREAD_SIZE)
_edata = .; _edata = .;
_edata_loc = __data_loc + SIZEOF(.data);
BSS_SECTION(0, 0, 0) BSS_SECTION(0, 0, 0)
_end = .; _end = .;