diff options
Diffstat (limited to 'arch/alpha/kernel/setup.c')
| -rw-r--r-- | arch/alpha/kernel/setup.c | 23 | 
1 files changed, 20 insertions, 3 deletions
diff --git a/arch/alpha/kernel/setup.c b/arch/alpha/kernel/setup.c index 9e3107cc5eb..b20af76f12c 100644 --- a/arch/alpha/kernel/setup.c +++ b/arch/alpha/kernel/setup.c @@ -115,10 +115,17 @@ unsigned long alpha_agpgart_size = DEFAULT_AGP_APER_SIZE;  #ifdef CONFIG_ALPHA_GENERIC  struct alpha_machine_vector alpha_mv; +#endif + +#ifndef alpha_using_srm  int alpha_using_srm;  EXPORT_SYMBOL(alpha_using_srm);  #endif +#ifndef alpha_using_qemu +int alpha_using_qemu; +#endif +  static struct alpha_machine_vector *get_sysvec(unsigned long, unsigned long,  					       unsigned long);  static struct alpha_machine_vector *get_sysvec_byname(const char *); @@ -529,11 +536,15 @@ setup_arch(char **cmdline_p)  	atomic_notifier_chain_register(&panic_notifier_list,  			&alpha_panic_block); -#ifdef CONFIG_ALPHA_GENERIC +#ifndef alpha_using_srm  	/* Assume that we've booted from SRM if we haven't booted from MILO.  	   Detect the later by looking for "MILO" in the system serial nr.  */  	alpha_using_srm = strncmp((const char *)hwrpb->ssn, "MILO", 4) != 0;  #endif +#ifndef alpha_using_qemu +	/* Similarly, look for QEMU.  */ +	alpha_using_qemu = strstr((const char *)hwrpb->ssn, "QEMU") != 0; +#endif  	/* If we are using SRM, we want to allow callbacks  	   as early as possible, so do this NOW, and then @@ -1207,6 +1218,7 @@ show_cpuinfo(struct seq_file *f, void *slot)  	char *systype_name;  	char *sysvariation_name;  	int nr_processors; +	unsigned long timer_freq;  	cpu_index = (unsigned) (cpu->type - 1);  	cpu_name = "Unknown"; @@ -1218,6 +1230,12 @@ show_cpuinfo(struct seq_file *f, void *slot)  	nr_processors = get_nr_processors(cpu, hwrpb->nr_processors); +#if CONFIG_HZ == 1024 || CONFIG_HZ == 1200 +	timer_freq = (100UL * hwrpb->intr_freq) / 4096; +#else +	timer_freq = 100UL * CONFIG_HZ; +#endif +  	seq_printf(f, "cpu\t\t\t: Alpha\n"  		      "cpu model\t\t: %s\n"  		      "cpu variation\t\t: %ld\n" @@ -1243,8 +1261,7 @@ show_cpuinfo(struct seq_file *f, void *slot)  		       (char*)hwrpb->ssn,  		       est_cycle_freq ? : hwrpb->cycle_freq,  		       est_cycle_freq ? "est." : "", -		       hwrpb->intr_freq / 4096, -		       (100 * hwrpb->intr_freq / 4096) % 100, +		       timer_freq / 100, timer_freq % 100,  		       hwrpb->pagesize,  		       hwrpb->pa_bits,  		       hwrpb->max_asn,  | 
