aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap1/include/mach/debug-macro.S
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2011-01-04 19:04:00 +0000
committerRussell King <rmk+kernel@arm.linux.org.uk>2011-02-17 23:27:30 +0000
commit72a20e22f49e2dad3180c23980a9df1c63faab0a (patch)
tree97edaa9db248ecc7e9a6a66c1ef5a054412af5c2 /arch/arm/mach-omap1/include/mach/debug-macro.S
parentb75c178afaa975896e894bb2b6951dc4cd43c977 (diff)
downloadkernel_samsung_smdk4412-72a20e22f49e2dad3180c23980a9df1c63faab0a.zip
kernel_samsung_smdk4412-72a20e22f49e2dad3180c23980a9df1c63faab0a.tar.gz
kernel_samsung_smdk4412-72a20e22f49e2dad3180c23980a9df1c63faab0a.tar.bz2
ARM: P2V: eliminate head.S use of PHYS_OFFSET for !XIP_KERNEL
head.S makes use of PHYS_OFFSET. When it becomes a variable, the assembler won't understand this. Compute PHYS_OFFSET by the following method. This code is linked at its virtual address, but run at before the MMU is enabled, so at his physical address. 1: .long . .long PAGE_OFFSET adr r0, 1b @ r0 = physical ',' ldmia r0, {r1, r2} @ r1 = virtual '.', r2 = PAGE_OFFSET sub r1, r0, r1 @ r1 = physical-virtual add r2, r2, r1 @ r2 = PAGE_OFFSET + physical-virtual @ := PHYS_OFFSET. Switch XIP users of PHYS_OFFSET to use PLAT_PHYS_OFFSET - we can't use this method for XIP kernels as the code doesn't execute in RAM. Tested-by: Tony Lindgren <tony@atomide.com> Reviewed-by: Nicolas Pitre <nicolas.pitre@linaro.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-omap1/include/mach/debug-macro.S')
0 files changed, 0 insertions, 0 deletions