sparc64: Only Panther cheetah+ chips have POPC.
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
0f43dd546d
Коммит
1a8e0da593
|
@ -440,8 +440,14 @@ static void __init init_sparc64_elf_hwcap(void)
|
||||||
cap |= AV_SPARC_VIS;
|
cap |= AV_SPARC_VIS;
|
||||||
if (tlb_type == cheetah || tlb_type == cheetah_plus)
|
if (tlb_type == cheetah || tlb_type == cheetah_plus)
|
||||||
cap |= AV_SPARC_VIS | AV_SPARC_VIS2;
|
cap |= AV_SPARC_VIS | AV_SPARC_VIS2;
|
||||||
if (tlb_type == cheetah_plus)
|
if (tlb_type == cheetah_plus) {
|
||||||
cap |= AV_SPARC_POPC;
|
unsigned long impl, ver;
|
||||||
|
|
||||||
|
__asm__ __volatile__("rdpr %%ver, %0" : "=r" (ver));
|
||||||
|
impl = ((ver >> 32) & 0xffff);
|
||||||
|
if (impl == PANTHER_IMPL)
|
||||||
|
cap |= AV_SPARC_POPC;
|
||||||
|
}
|
||||||
if (tlb_type == hypervisor) {
|
if (tlb_type == hypervisor) {
|
||||||
if (sun4v_chip_type == SUN4V_CHIP_NIAGARA1)
|
if (sun4v_chip_type == SUN4V_CHIP_NIAGARA1)
|
||||||
cap |= AV_SPARC_ASI_BLK_INIT;
|
cap |= AV_SPARC_ASI_BLK_INIT;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче