X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Fparisc%2Fkernel%2Fsetup.c;h=4a36ec3f6ac15f9ae0466fcfc2992374a3962601;hb=43bc926fffd92024b46cafaf7350d669ba9ca884;hp=37bd6a607b95a22639f8bc068325c186f9630c4d;hpb=9bf4aaab3e101692164d49b7ca357651eb691cb6;p=linux-2.6.git diff --git a/arch/parisc/kernel/setup.c b/arch/parisc/kernel/setup.c index 37bd6a607..4a36ec3f6 100644 --- a/arch/parisc/kernel/setup.c +++ b/arch/parisc/kernel/setup.c @@ -46,13 +46,22 @@ #include #include -char command_line[COMMAND_LINE_SIZE]; +char command_line[COMMAND_LINE_SIZE] __read_mostly; /* Intended for ccio/sba/cpu statistics under /proc/bus/{runway|gsc} */ -struct proc_dir_entry * proc_runway_root = NULL; -struct proc_dir_entry * proc_gsc_root = NULL; -struct proc_dir_entry * proc_mckinley_root = NULL; +struct proc_dir_entry * proc_runway_root __read_mostly = NULL; +struct proc_dir_entry * proc_gsc_root __read_mostly = NULL; +struct proc_dir_entry * proc_mckinley_root __read_mostly = NULL; +#if !defined(CONFIG_PA20) && (defined(CONFIG_IOMMU_CCIO) || defined(CONFIG_IOMMU_SBA)) +int parisc_bus_is_phys __read_mostly = 1; /* Assume no IOMMU is present */ +EXPORT_SYMBOL(parisc_bus_is_phys); +#endif + +/* This sets the vmerge boundary and size, it's here because it has to + * be available on all platforms (zero means no-virtual merging) */ +unsigned long parisc_vmerge_boundary = 0; +unsigned long parisc_vmerge_max_size = 0; void __init setup_cmdline(char **cmdline_p) { @@ -112,6 +121,10 @@ extern void collect_boot_cpu_data(void); void __init setup_arch(char **cmdline_p) { +#ifdef __LP64__ + extern int parisc_narrow_firmware; +#endif + init_per_cpu(smp_processor_id()); /* Set Modes & Enable FP */ #ifdef __LP64__ @@ -123,7 +136,6 @@ void __init setup_arch(char **cmdline_p) pdc_console_init(); #ifdef __LP64__ - extern int parisc_narrow_firmware; if(parisc_narrow_firmware) { printk(KERN_INFO "Kernel is using PDC in 32-bit mode.\n"); } @@ -199,7 +211,7 @@ static void __init parisc_proc_mkdir(void) case pcxl2: if (NULL == proc_gsc_root) { - proc_gsc_root = proc_mkdir("bus/gsc", 0); + proc_gsc_root = proc_mkdir("bus/gsc", NULL); } break; case pcxt_: @@ -210,13 +222,13 @@ static void __init parisc_proc_mkdir(void) case pcxw2: if (NULL == proc_runway_root) { - proc_runway_root = proc_mkdir("bus/runway", 0); + proc_runway_root = proc_mkdir("bus/runway", NULL); } break; case mako: if (NULL == proc_mckinley_root) { - proc_mckinley_root = proc_mkdir("bus/mckinley", 0); + proc_mckinley_root = proc_mkdir("bus/mckinley", NULL); } break; default: @@ -307,6 +319,8 @@ static int __init parisc_init(void) boot_cpu_data.cpu_hz / 1000000, boot_cpu_data.cpu_hz % 1000000 ); + parisc_setup_cache_timing(); + /* These are in a non-obvious order, will fix when we have an iotree */ #if defined(CONFIG_IOSAPIC) iosapic_init();