aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/kernel/setup.c
diff options
context:
space:
mode:
authorBill Gatliff <bgat@billgatliff.com>2007-05-31 22:02:22 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2007-07-12 11:13:33 +0100
commit9d20fdd58e74d4d26dc5216efaaa0f800c23dd3a (patch)
treebc8520791f304ce297a52f575930c2797067521c /arch/arm/kernel/setup.c
parent[ARM] 4393/2: ARMv7: Add uncompressing code for the new CPU Id format (diff)
downloadlinux-dev-9d20fdd58e74d4d26dc5216efaaa0f800c23dd3a.tar.xz
linux-dev-9d20fdd58e74d4d26dc5216efaaa0f800c23dd3a.zip
[ARM] 4423/1: add ATAGS support
Examines the ATAGS pointer (r2) at boot, and interprets a nonzero value as a reference to an ATAGS structure. A suitable ATAGS structure replaces the kernel's command line. Signed-off-by: Bill Gatliff <bgat@billgatliff.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/kernel/setup.c')
-rw-r--r--arch/arm/kernel/setup.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c
index 650eac1bc0a6..5be2e987b843 100644
--- a/arch/arm/kernel/setup.c
+++ b/arch/arm/kernel/setup.c
@@ -63,6 +63,8 @@ unsigned int processor_id;
unsigned int __machine_arch_type;
EXPORT_SYMBOL(__machine_arch_type);
+unsigned int __atags_pointer __initdata;
+
unsigned int system_rev;
EXPORT_SYMBOL(system_rev);
@@ -780,7 +782,9 @@ void __init setup_arch(char **cmdline_p)
if (mdesc->soft_reboot)
reboot_setup("s");
- if (mdesc->boot_params)
+ if (__atags_pointer)
+ tags = phys_to_virt(__atags_pointer);
+ else if (mdesc->boot_params)
tags = phys_to_virt(mdesc->boot_params);
/*