arm64: Remove unused __data_loc variable
authorGeoff Levand <geoff@infradead.org>
Sat, 14 Dec 2013 00:20:13 +0000 (00:20 +0000)
committerCatalin Marinas <catalin.marinas@arm.com>
Fri, 20 Dec 2013 12:04:48 +0000 (12:04 +0000)
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>
arch/arm64/kernel/head.S
arch/arm64/kernel/vmlinux.lds.S

index c68cca5c3523221421e93460805a3c4d9cbac5a4..0b281fffda5199dab76eeaa8f729609570fe6310 100644 (file)
@@ -482,8 +482,6 @@ ENDPROC(__create_page_tables)
        .type   __switch_data, %object
 __switch_data:
        .quad   __mmap_switched
-       .quad   __data_loc                      // x4
-       .quad   _data                           // x5
        .quad   __bss_start                     // x6
        .quad   _end                            // x7
        .quad   processor_id                    // x4
@@ -498,15 +496,7 @@ __switch_data:
 __mmap_switched:
        adr     x3, __switch_data + 8
 
-       ldp     x4, x5, [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
        b.hs    2f
        str     xzr, [x6], #8                   // Clear BSS
index 842ca8be5877b436d76d0cc0428f30cf78ce24d2..4ba7a55b49c7efa9da4336dc7ad54074a773eba0 100644 (file)
@@ -99,11 +99,9 @@ SECTIONS
 
        . = ALIGN(PAGE_SIZE);
        _data = .;
-       __data_loc = _data - LOAD_OFFSET;
        _sdata = .;
        RW_DATA_SECTION(64, PAGE_SIZE, THREAD_SIZE)
        _edata = .;
-       _edata_loc = __data_loc + SIZEOF(.data);
 
        BSS_SECTION(0, 0, 0)
        _end = .;