Replace the confusing virtual/physical address arithmetic with a simple
PC-relative reference.
Tested-by: Mark Rutland <mark.rutland@arm.com>
Reviewed-by: Mark Rutland <mark.rutland@arm.com>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
        .popsection
 
 #ifdef CONFIG_SMP
-       .align  3
-1:     .quad   .
-       .quad   secondary_holding_pen_release
-
        /*
         * This provides a "holding pen" for platforms to hold all secondary
         * cores are held until we're ready for them to initialise.
        mrs     x0, mpidr_el1
        ldr     x1, =MPIDR_HWID_BITMASK
        and     x0, x0, x1
-       adr     x1, 1b
-       ldp     x2, x3, [x1]
-       sub     x1, x1, x2
-       add     x3, x3, x1
+       adr_l   x3, secondary_holding_pen_release
 pen:   ldr     x4, [x3]
        cmp     x4, x0
        b.eq    secondary_startup