diff options
author | Allen Pais <allen.pais@oracle.com> | 2014-09-08 02:18:53 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-09-09 18:24:10 -0400 |
commit | cadbb58039f7cab1def9c931012ab04c953a6997 (patch) | |
tree | d7c4802f418c0f88effde87764bd7d8533ee8998 | |
parent | 619df5d2870b80696fd32521376560e0a4223e44 (diff) |
sparc64: correctly recognise M6 and M7 cpu type
The following patch adds support for correctly
recognising M6 and M7 cpu type.
Signed-off-by: Allen Pais <allen.pais@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | arch/sparc/include/asm/spitfire.h | 2 | ||||
-rw-r--r-- | arch/sparc/kernel/cpu.c | 12 | ||||
-rw-r--r-- | arch/sparc/kernel/head_64.S | 12 |
3 files changed, 26 insertions, 0 deletions
diff --git a/arch/sparc/include/asm/spitfire.h b/arch/sparc/include/asm/spitfire.h index 3fc58691dbd0..56f933816144 100644 --- a/arch/sparc/include/asm/spitfire.h +++ b/arch/sparc/include/asm/spitfire.h | |||
@@ -45,6 +45,8 @@ | |||
45 | #define SUN4V_CHIP_NIAGARA3 0x03 | 45 | #define SUN4V_CHIP_NIAGARA3 0x03 |
46 | #define SUN4V_CHIP_NIAGARA4 0x04 | 46 | #define SUN4V_CHIP_NIAGARA4 0x04 |
47 | #define SUN4V_CHIP_NIAGARA5 0x05 | 47 | #define SUN4V_CHIP_NIAGARA5 0x05 |
48 | #define SUN4V_CHIP_SPARC_M6 0x06 | ||
49 | #define SUN4V_CHIP_SPARC_M7 0x07 | ||
48 | #define SUN4V_CHIP_SPARC64X 0x8a | 50 | #define SUN4V_CHIP_SPARC64X 0x8a |
49 | #define SUN4V_CHIP_UNKNOWN 0xff | 51 | #define SUN4V_CHIP_UNKNOWN 0xff |
50 | 52 | ||
diff --git a/arch/sparc/kernel/cpu.c b/arch/sparc/kernel/cpu.c index 82a3a71c451e..dfad8b1aea9f 100644 --- a/arch/sparc/kernel/cpu.c +++ b/arch/sparc/kernel/cpu.c | |||
@@ -494,6 +494,18 @@ static void __init sun4v_cpu_probe(void) | |||
494 | sparc_pmu_type = "niagara5"; | 494 | sparc_pmu_type = "niagara5"; |
495 | break; | 495 | break; |
496 | 496 | ||
497 | case SUN4V_CHIP_SPARC_M6: | ||
498 | sparc_cpu_type = "SPARC-M6"; | ||
499 | sparc_fpu_type = "SPARC-M6 integrated FPU"; | ||
500 | sparc_pmu_type = "sparc-m6"; | ||
501 | break; | ||
502 | |||
503 | case SUN4V_CHIP_SPARC_M7: | ||
504 | sparc_cpu_type = "SPARC-M7"; | ||
505 | sparc_fpu_type = "SPARC-M7 integrated FPU"; | ||
506 | sparc_pmu_type = "sparc-m7"; | ||
507 | break; | ||
508 | |||
497 | case SUN4V_CHIP_SPARC64X: | 509 | case SUN4V_CHIP_SPARC64X: |
498 | sparc_cpu_type = "SPARC64-X"; | 510 | sparc_cpu_type = "SPARC64-X"; |
499 | sparc_fpu_type = "SPARC64-X integrated FPU"; | 511 | sparc_fpu_type = "SPARC64-X integrated FPU"; |
diff --git a/arch/sparc/kernel/head_64.S b/arch/sparc/kernel/head_64.S index 452f04fe8da6..4fdeb8040d4d 100644 --- a/arch/sparc/kernel/head_64.S +++ b/arch/sparc/kernel/head_64.S | |||
@@ -427,6 +427,12 @@ sun4v_chip_type: | |||
427 | cmp %g2, '5' | 427 | cmp %g2, '5' |
428 | be,pt %xcc, 5f | 428 | be,pt %xcc, 5f |
429 | mov SUN4V_CHIP_NIAGARA5, %g4 | 429 | mov SUN4V_CHIP_NIAGARA5, %g4 |
430 | cmp %g2, '6' | ||
431 | be,pt %xcc, 5f | ||
432 | mov SUN4V_CHIP_SPARC_M6, %g4 | ||
433 | cmp %g2, '7' | ||
434 | be,pt %xcc, 5f | ||
435 | mov SUN4V_CHIP_SPARC_M7, %g4 | ||
430 | ba,pt %xcc, 49f | 436 | ba,pt %xcc, 49f |
431 | nop | 437 | nop |
432 | 438 | ||
@@ -585,6 +591,12 @@ niagara_tlb_fixup: | |||
585 | cmp %g1, SUN4V_CHIP_NIAGARA5 | 591 | cmp %g1, SUN4V_CHIP_NIAGARA5 |
586 | be,pt %xcc, niagara4_patch | 592 | be,pt %xcc, niagara4_patch |
587 | nop | 593 | nop |
594 | cmp %g1, SUN4V_CHIP_SPARC_M6 | ||
595 | be,pt %xcc, niagara4_patch | ||
596 | nop | ||
597 | cmp %g1, SUN4V_CHIP_SPARC_M7 | ||
598 | be,pt %xcc, niagara4_patch | ||
599 | nop | ||
588 | 600 | ||
589 | call generic_patch_copyops | 601 | call generic_patch_copyops |
590 | nop | 602 | nop |