diff options
Diffstat (limited to 'arch/sparc64/kernel/setup.c')
-rw-r--r-- | arch/sparc64/kernel/setup.c | 31 |
1 files changed, 9 insertions, 22 deletions
diff --git a/arch/sparc64/kernel/setup.c b/arch/sparc64/kernel/setup.c index ddbed3341a23..8e8baf2354df 100644 --- a/arch/sparc64/kernel/setup.c +++ b/arch/sparc64/kernel/setup.c | |||
@@ -496,7 +496,6 @@ extern void paging_init(void); | |||
496 | 496 | ||
497 | void __init setup_arch(char **cmdline_p) | 497 | void __init setup_arch(char **cmdline_p) |
498 | { | 498 | { |
499 | unsigned long highest_paddr; | ||
500 | int i; | 499 | int i; |
501 | 500 | ||
502 | /* Initialize PROM console and command line. */ | 501 | /* Initialize PROM console and command line. */ |
@@ -519,11 +518,7 @@ void __init setup_arch(char **cmdline_p) | |||
519 | idprom_init(); | 518 | idprom_init(); |
520 | (void) prom_probe_memory(); | 519 | (void) prom_probe_memory(); |
521 | 520 | ||
522 | /* In paging_init() we tip off this value to see if we need | ||
523 | * to change init_mm.pgd to point to the real alias mapping. | ||
524 | */ | ||
525 | phys_base = 0xffffffffffffffffUL; | 521 | phys_base = 0xffffffffffffffffUL; |
526 | highest_paddr = 0UL; | ||
527 | for (i = 0; sp_banks[i].num_bytes != 0; i++) { | 522 | for (i = 0; sp_banks[i].num_bytes != 0; i++) { |
528 | unsigned long top; | 523 | unsigned long top; |
529 | 524 | ||
@@ -531,25 +526,10 @@ void __init setup_arch(char **cmdline_p) | |||
531 | phys_base = sp_banks[i].base_addr; | 526 | phys_base = sp_banks[i].base_addr; |
532 | top = sp_banks[i].base_addr + | 527 | top = sp_banks[i].base_addr + |
533 | sp_banks[i].num_bytes; | 528 | sp_banks[i].num_bytes; |
534 | if (highest_paddr < top) | ||
535 | highest_paddr = top; | ||
536 | } | 529 | } |
537 | pfn_base = phys_base >> PAGE_SHIFT; | 530 | pfn_base = phys_base >> PAGE_SHIFT; |
538 | 531 | ||
539 | switch (tlb_type) { | 532 | kern_base = (prom_boot_mapping_phys_low >> 22UL) << 22UL; |
540 | default: | ||
541 | case spitfire: | ||
542 | kern_base = spitfire_get_itlb_data(sparc64_highest_locked_tlbent()); | ||
543 | kern_base &= _PAGE_PADDR_SF; | ||
544 | break; | ||
545 | |||
546 | case cheetah: | ||
547 | case cheetah_plus: | ||
548 | kern_base = cheetah_get_litlb_data(sparc64_highest_locked_tlbent()); | ||
549 | kern_base &= _PAGE_PADDR; | ||
550 | break; | ||
551 | }; | ||
552 | |||
553 | kern_size = (unsigned long)&_end - (unsigned long)KERNBASE; | 533 | kern_size = (unsigned long)&_end - (unsigned long)KERNBASE; |
554 | 534 | ||
555 | if (!root_flags) | 535 | if (!root_flags) |
@@ -625,6 +605,9 @@ extern void smp_info(struct seq_file *); | |||
625 | extern void smp_bogo(struct seq_file *); | 605 | extern void smp_bogo(struct seq_file *); |
626 | extern void mmu_info(struct seq_file *); | 606 | extern void mmu_info(struct seq_file *); |
627 | 607 | ||
608 | unsigned int dcache_parity_tl1_occurred; | ||
609 | unsigned int icache_parity_tl1_occurred; | ||
610 | |||
628 | static int show_cpuinfo(struct seq_file *m, void *__unused) | 611 | static int show_cpuinfo(struct seq_file *m, void *__unused) |
629 | { | 612 | { |
630 | seq_printf(m, | 613 | seq_printf(m, |
@@ -635,6 +618,8 @@ static int show_cpuinfo(struct seq_file *m, void *__unused) | |||
635 | "type\t\t: sun4u\n" | 618 | "type\t\t: sun4u\n" |
636 | "ncpus probed\t: %ld\n" | 619 | "ncpus probed\t: %ld\n" |
637 | "ncpus active\t: %ld\n" | 620 | "ncpus active\t: %ld\n" |
621 | "D$ parity tl1\t: %u\n" | ||
622 | "I$ parity tl1\t: %u\n" | ||
638 | #ifndef CONFIG_SMP | 623 | #ifndef CONFIG_SMP |
639 | "Cpu0Bogo\t: %lu.%02lu\n" | 624 | "Cpu0Bogo\t: %lu.%02lu\n" |
640 | "Cpu0ClkTck\t: %016lx\n" | 625 | "Cpu0ClkTck\t: %016lx\n" |
@@ -647,7 +632,9 @@ static int show_cpuinfo(struct seq_file *m, void *__unused) | |||
647 | (prom_prev >> 8) & 0xff, | 632 | (prom_prev >> 8) & 0xff, |
648 | prom_prev & 0xff, | 633 | prom_prev & 0xff, |
649 | (long)num_possible_cpus(), | 634 | (long)num_possible_cpus(), |
650 | (long)num_online_cpus() | 635 | (long)num_online_cpus(), |
636 | dcache_parity_tl1_occurred, | ||
637 | icache_parity_tl1_occurred | ||
651 | #ifndef CONFIG_SMP | 638 | #ifndef CONFIG_SMP |
652 | , cpu_data(0).udelay_val/(500000/HZ), | 639 | , cpu_data(0).udelay_val/(500000/HZ), |
653 | (cpu_data(0).udelay_val/(5000/HZ)) % 100, | 640 | (cpu_data(0).udelay_val/(5000/HZ)) % 100, |