|
@@ -288,10 +288,17 @@ static void __init sun4v_patch(void)
|
|
|
|
|
|
sun4v_patch_2insn_range(&__sun4v_2insn_patch,
|
|
sun4v_patch_2insn_range(&__sun4v_2insn_patch,
|
|
&__sun4v_2insn_patch_end);
|
|
&__sun4v_2insn_patch_end);
|
|
- if (sun4v_chip_type == SUN4V_CHIP_SPARC_M7 ||
|
|
|
|
- sun4v_chip_type == SUN4V_CHIP_SPARC_SN)
|
|
|
|
|
|
+
|
|
|
|
+ switch (sun4v_chip_type) {
|
|
|
|
+ case SUN4V_CHIP_SPARC_M7:
|
|
|
|
+ case SUN4V_CHIP_SPARC_M8:
|
|
|
|
+ case SUN4V_CHIP_SPARC_SN:
|
|
sun_m7_patch_2insn_range(&__sun_m7_2insn_patch,
|
|
sun_m7_patch_2insn_range(&__sun_m7_2insn_patch,
|
|
&__sun_m7_2insn_patch_end);
|
|
&__sun_m7_2insn_patch_end);
|
|
|
|
+ break;
|
|
|
|
+ default:
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
|
|
sun4v_hvapi_init();
|
|
sun4v_hvapi_init();
|
|
}
|
|
}
|
|
@@ -529,6 +536,7 @@ static void __init init_sparc64_elf_hwcap(void)
|
|
sun4v_chip_type == SUN4V_CHIP_NIAGARA5 ||
|
|
sun4v_chip_type == SUN4V_CHIP_NIAGARA5 ||
|
|
sun4v_chip_type == SUN4V_CHIP_SPARC_M6 ||
|
|
sun4v_chip_type == SUN4V_CHIP_SPARC_M6 ||
|
|
sun4v_chip_type == SUN4V_CHIP_SPARC_M7 ||
|
|
sun4v_chip_type == SUN4V_CHIP_SPARC_M7 ||
|
|
|
|
+ sun4v_chip_type == SUN4V_CHIP_SPARC_M8 ||
|
|
sun4v_chip_type == SUN4V_CHIP_SPARC_SN ||
|
|
sun4v_chip_type == SUN4V_CHIP_SPARC_SN ||
|
|
sun4v_chip_type == SUN4V_CHIP_SPARC64X)
|
|
sun4v_chip_type == SUN4V_CHIP_SPARC64X)
|
|
cap |= HWCAP_SPARC_BLKINIT;
|
|
cap |= HWCAP_SPARC_BLKINIT;
|
|
@@ -538,6 +546,7 @@ static void __init init_sparc64_elf_hwcap(void)
|
|
sun4v_chip_type == SUN4V_CHIP_NIAGARA5 ||
|
|
sun4v_chip_type == SUN4V_CHIP_NIAGARA5 ||
|
|
sun4v_chip_type == SUN4V_CHIP_SPARC_M6 ||
|
|
sun4v_chip_type == SUN4V_CHIP_SPARC_M6 ||
|
|
sun4v_chip_type == SUN4V_CHIP_SPARC_M7 ||
|
|
sun4v_chip_type == SUN4V_CHIP_SPARC_M7 ||
|
|
|
|
+ sun4v_chip_type == SUN4V_CHIP_SPARC_M8 ||
|
|
sun4v_chip_type == SUN4V_CHIP_SPARC_SN ||
|
|
sun4v_chip_type == SUN4V_CHIP_SPARC_SN ||
|
|
sun4v_chip_type == SUN4V_CHIP_SPARC64X)
|
|
sun4v_chip_type == SUN4V_CHIP_SPARC64X)
|
|
cap |= HWCAP_SPARC_N2;
|
|
cap |= HWCAP_SPARC_N2;
|
|
@@ -568,6 +577,7 @@ static void __init init_sparc64_elf_hwcap(void)
|
|
sun4v_chip_type == SUN4V_CHIP_NIAGARA5 ||
|
|
sun4v_chip_type == SUN4V_CHIP_NIAGARA5 ||
|
|
sun4v_chip_type == SUN4V_CHIP_SPARC_M6 ||
|
|
sun4v_chip_type == SUN4V_CHIP_SPARC_M6 ||
|
|
sun4v_chip_type == SUN4V_CHIP_SPARC_M7 ||
|
|
sun4v_chip_type == SUN4V_CHIP_SPARC_M7 ||
|
|
|
|
+ sun4v_chip_type == SUN4V_CHIP_SPARC_M8 ||
|
|
sun4v_chip_type == SUN4V_CHIP_SPARC_SN ||
|
|
sun4v_chip_type == SUN4V_CHIP_SPARC_SN ||
|
|
sun4v_chip_type == SUN4V_CHIP_SPARC64X)
|
|
sun4v_chip_type == SUN4V_CHIP_SPARC64X)
|
|
cap |= (AV_SPARC_VIS | AV_SPARC_VIS2 |
|
|
cap |= (AV_SPARC_VIS | AV_SPARC_VIS2 |
|
|
@@ -578,6 +588,7 @@ static void __init init_sparc64_elf_hwcap(void)
|
|
sun4v_chip_type == SUN4V_CHIP_NIAGARA5 ||
|
|
sun4v_chip_type == SUN4V_CHIP_NIAGARA5 ||
|
|
sun4v_chip_type == SUN4V_CHIP_SPARC_M6 ||
|
|
sun4v_chip_type == SUN4V_CHIP_SPARC_M6 ||
|
|
sun4v_chip_type == SUN4V_CHIP_SPARC_M7 ||
|
|
sun4v_chip_type == SUN4V_CHIP_SPARC_M7 ||
|
|
|
|
+ sun4v_chip_type == SUN4V_CHIP_SPARC_M8 ||
|
|
sun4v_chip_type == SUN4V_CHIP_SPARC_SN ||
|
|
sun4v_chip_type == SUN4V_CHIP_SPARC_SN ||
|
|
sun4v_chip_type == SUN4V_CHIP_SPARC64X)
|
|
sun4v_chip_type == SUN4V_CHIP_SPARC64X)
|
|
cap |= (AV_SPARC_VIS3 | AV_SPARC_HPC |
|
|
cap |= (AV_SPARC_VIS3 | AV_SPARC_HPC |
|