diff options
author | Nicolas Pitre <nicolas.pitre@linaro.org> | 2011-07-05 22:38:10 -0400 |
---|---|---|
committer | Nicolas Pitre <nico@fluxnic.net> | 2011-08-21 17:09:13 -0400 |
commit | 2bb9839e312ed55a6d5824ffa6077ce3d7d63b1e (patch) | |
tree | c71d4cc38c828784a96d5cbbc6bfb53ef336a911 /arch/arm/kernel/setup.c | |
parent | 93ee7a9340d64f20295aacc3fb6a22b759323280 (diff) | |
download | blackbird-op-linux-2bb9839e312ed55a6d5824ffa6077ce3d7d63b1e.tar.gz blackbird-op-linux-2bb9839e312ed55a6d5824ffa6077ce3d7d63b1e.zip |
ARM: introduce atag_offset to replace boot_params
The boot_params member of the mdesc structure is used to provide a
default physical address for the ATAG list. Since this value is fixed
at compile time and sometimes based on constants such as ARCH_PHYS_OFFSET,
it gets in the way of runtime PHYS_OFFSET and CONFIG_ARM_PATCH_PHYS_VIRT
usage.
Let's introduce atag_offset which should contains only the relative
offset from PHYS_OFFSET instead of an absolute value, in preparation
to move all instance of boot_params over to it.
Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
Tested-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Tested-by: Petr Štetiar <ynezz@true.cz>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'arch/arm/kernel/setup.c')
-rw-r--r-- | arch/arm/kernel/setup.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c index 70bca649e925..2737ba3f739c 100644 --- a/arch/arm/kernel/setup.c +++ b/arch/arm/kernel/setup.c @@ -819,6 +819,8 @@ static struct machine_desc * __init setup_machine_tags(unsigned int nr) if (__atags_pointer) tags = phys_to_virt(__atags_pointer); + else if (mdesc->atag_offset) + tags = (void *)(PAGE_OFFSET + mdesc->atag_offset); else if (mdesc->boot_params) { #ifdef CONFIG_MMU /* |