diff options
Diffstat (limited to 'arch/parisc/kernel/setup.c')
-rw-r--r-- | arch/parisc/kernel/setup.c | 32 |
1 files changed, 14 insertions, 18 deletions
diff --git a/arch/parisc/kernel/setup.c b/arch/parisc/kernel/setup.c index 8d8b0248a4a9..46e79a606bbd 100644 --- a/arch/parisc/kernel/setup.c +++ b/arch/parisc/kernel/setup.c @@ -58,30 +58,17 @@ int parisc_bus_is_phys __read_mostly = 1; /* Assume no IOMMU is present */ EXPORT_SYMBOL(parisc_bus_is_phys); #endif -void __init setup_cmdline(char **cmdline_p) +void __init arch_get_boot_command_line(void) { extern unsigned int boot_args[]; /* Collect stuff passed in from the boot loader */ /* boot_args[0] is free-mem start, boot_args[1] is ptr to command line */ - if (boot_args[0] < 64) { - /* called from hpux boot loader */ - boot_command_line[0] = '\0'; - } else { + if (boot_args[0] >= 64) { + /* not called from hpux boot loader */ strcpy(boot_command_line, (char *)__va(boot_args[1])); - -#ifdef CONFIG_BLK_DEV_INITRD - if (boot_args[2] != 0) /* did palo pass us a ramdisk? */ - { - initrd_start = (unsigned long)__va(boot_args[2]); - initrd_end = (unsigned long)__va(boot_args[3]); - } -#endif } - - strcpy(command_line, boot_command_line); - *cmdline_p = command_line; } #ifdef CONFIG_PA11 @@ -114,8 +101,9 @@ void __init dma_ops_init(void) extern int init_per_cpu(int cpuid); extern void collect_boot_cpu_data(void); -void __init setup_arch(char **cmdline_p) +void __init setup_arch(void) { + extern unsigned int boot_args[]; #ifdef CONFIG_64BIT extern int parisc_narrow_firmware; #endif @@ -137,7 +125,15 @@ void __init setup_arch(char **cmdline_p) } #endif setup_pdc(); - setup_cmdline(cmdline_p); + strcpy(command_line, boot_command_line); + +#ifdef CONFIG_BLK_DEV_INITRD + /* did palo pass us a ramdisk? */ + if (boot_args[0] >= 64 && boot_args[2] != 0) { + initrd_start = (unsigned long)__va(boot_args[2]); + initrd_end = (unsigned long)__va(boot_args[3]); + } +#endif collect_boot_cpu_data(); do_memory_inventory(); /* probe for physical memory */ parisc_cache_init(); |