diff options
author | Ard Biesheuvel <ard.biesheuvel@linaro.org> | 2015-03-10 10:00:03 -0400 |
---|---|---|
committer | Will Deacon <will.deacon@arm.com> | 2015-03-19 15:46:01 -0400 |
commit | b1c98297fe0c6e2899ede03fc3b831f36e19fb76 (patch) | |
tree | 4ef6aa4aab154aecb9fc55ae0c13388569d3133d /arch/arm64/kernel | |
parent | a871d354f795c4960543fb44c9b59af63367d6cf (diff) |
arm64: use PC-relative reference for secondary_holding_pen_release
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>
Diffstat (limited to 'arch/arm64/kernel')
-rw-r--r-- | arch/arm64/kernel/head.S | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/arch/arm64/kernel/head.S b/arch/arm64/kernel/head.S index 42ff10967dcc..818213186dac 100644 --- a/arch/arm64/kernel/head.S +++ b/arch/arm64/kernel/head.S | |||
@@ -564,10 +564,6 @@ ENTRY(__boot_cpu_mode) | |||
564 | .popsection | 564 | .popsection |
565 | 565 | ||
566 | #ifdef CONFIG_SMP | 566 | #ifdef CONFIG_SMP |
567 | .align 3 | ||
568 | 1: .quad . | ||
569 | .quad secondary_holding_pen_release | ||
570 | |||
571 | /* | 567 | /* |
572 | * This provides a "holding pen" for platforms to hold all secondary | 568 | * This provides a "holding pen" for platforms to hold all secondary |
573 | * cores are held until we're ready for them to initialise. | 569 | * cores are held until we're ready for them to initialise. |
@@ -579,10 +575,7 @@ ENTRY(secondary_holding_pen) | |||
579 | mrs x0, mpidr_el1 | 575 | mrs x0, mpidr_el1 |
580 | ldr x1, =MPIDR_HWID_BITMASK | 576 | ldr x1, =MPIDR_HWID_BITMASK |
581 | and x0, x0, x1 | 577 | and x0, x0, x1 |
582 | adr x1, 1b | 578 | adr_l x3, secondary_holding_pen_release |
583 | ldp x2, x3, [x1] | ||
584 | sub x1, x1, x2 | ||
585 | add x3, x3, x1 | ||
586 | pen: ldr x4, [x3] | 579 | pen: ldr x4, [x3] |
587 | cmp x4, x0 | 580 | cmp x4, x0 |
588 | b.eq secondary_startup | 581 | b.eq secondary_startup |