cpu_has_feature
if (!cpu_has_feature(CPU_FTR_ARCH_31))
if (cpu_has_feature(CPU_FTR_ARCH_206)) {
if (cpu_has_feature(CPU_FTR_ARCH_207S)) {
if (cpu_has_feature(CPU_FTR_HVMODE))
if (cpu_has_feature(CPU_FTR_ARCH_31)) {
if (cpu_has_feature(CPU_FTR_ARCH_300))
if (cpu_has_feature(CPU_FTR_COHERENT_ICACHE))
if (cpu_has_feature(CPU_FTR_SMT))
if (cpu_has_feature(CPU_FTR_ARCH_300) && (threads_per_core == 8))
if (cpu_has_feature(CPU_FTR_ARCH_300) && (threads_per_core == 8))
if (cpu_has_feature(CPU_FTR_ARCH_300) && (threads_per_core == 8))
if (cpu_has_feature(CPU_FTR_INDEXED_DCR)) {
if (cpu_has_feature(CPU_FTR_INDEXED_DCR)) {
else if (likely(cpu_has_feature(CPU_FTR_INDEXED_DCR))) \
else if (likely(cpu_has_feature(CPU_FTR_INDEXED_DCR))) \
if (cpu_has_feature(CPU_FTR_INDEXED_DCR)) {
#define kernel_fpu_available() (!cpu_has_feature(CPU_FTR_FPU_UNAVAILABLE))
return cpu_has_feature(CPU_FTR_DAWR1) ? 2 : 1;
if (cpu_has_feature(CPU_FTR_CTRL) &&
cpu_has_feature(CPU_FTR_ARCH_206))
return !cpu_has_feature(CPU_FTR_HVMODE);
return xive_enabled() && cpu_has_feature(CPU_FTR_HVMODE);
if (!cpu_has_feature(CPU_FTR_SAO))
if (cpu_has_feature(CPU_FTR_CTRL) && \
if (cpu_has_feature(CPU_FTR_CTRL) && \
if (cpu_has_feature(CPU_FTR_ARCH_207S))
return IS_ENABLED(CONFIG_ALTIVEC) && cpu_has_feature(CPU_FTR_VMX_COPY) &&
if (cpu_has_feature(CPU_FTR_ALTIVEC)) \
if (cpu_has_feature(CPU_FTR_PPC_LE))
if (cpu_has_feature(CPU_FTR_DAWR)) {
if (!cpu_has_feature(CPU_FTR_ARCH_31) &&
if (cpu_has_feature(CPU_FTR_ARCH_31) &&
if (cpu_has_feature(CPU_FTR_ARCH_31) &&
if (!cpu_has_feature(CPU_FTR_ARCH_31) && size == 16)
if (!cpu_has_feature(CPU_FTR_CAN_NAP))
if (cpu_has_feature(CPU_FTR_ALTIVEC))
if (cpu_has_feature(CPU_FTR_HVMODE) && trap == INTERRUPT_EXTERNAL)
if (cpu_has_feature(CPU_FTR_VSX))
else if (cpu_has_feature(CPU_FTR_ALTIVEC))
if (cpu_has_feature(CPU_FTR_HVMODE)) {
if (cpu_has_feature(CPU_FTR_DBELL)) {
if (!cpu_has_feature(CPU_FTR_TM))
if (cpu_has_feature(CPU_FTR_TM)) {
if (cpu_has_feature(CPU_FTR_ALTIVEC) && msr_diff & MSR_VEC)
if (cpu_has_feature(CPU_FTR_ALTIVEC))
if (cpu_has_feature(CPU_FTR_SPE))
if (cpu_has_feature(CPU_FTR_DSCR))
if (cpu_has_feature(CPU_FTR_ARCH_207S)) {
if (cpu_has_feature(CPU_FTR_DEXCR_NPHIE))
if (cpu_has_feature(CPU_FTR_ARCH_31))
if (cpu_has_feature(CPU_FTR_ALTIVEC) &&
if (cpu_has_feature(CPU_FTR_SPE) &&
if (cpu_has_feature(CPU_FTR_VSX) && (bits & MSR_FP))
if (cpu_has_feature(CPU_FTR_DSCR)) {
if (cpu_has_feature(CPU_FTR_ARCH_207S)) {
if (cpu_has_feature(CPU_FTR_P9_TIDR) &&
if (cpu_has_feature(CPU_FTR_DEXCR_NPHIE) &&
if (cpu_has_feature(CPU_FTR_ARCH_31) &&
if (new->mm && (cpu_has_feature(CPU_FTR_ARCH_31) ||
if (cpu_has_feature(CPU_FTR_VSX) && (bits & MSR_FP))
if (!trap_is_syscall(regs) && cpu_has_feature(CPU_FTR_CFAR))
if (cpu_has_feature(CPU_FTR_VSX))
if (cpu_has_feature(CPU_FTR_ARCH_31)) {
if (!cpu_has_feature(CPU_FTR_P9_TIDR))
if (cpu_has_feature(CPU_FTR_DSCR)) {
if (cpu_has_feature(CPU_FTR_DEXCR_NPHIE))
if (cpu_has_feature(CPU_FTR_ARCH_31))
if (cpu_has_feature(CPU_FTR_DEXCR_NPHIE)) {
if (cpu_has_feature(CPU_FTR_SPE)) {
if (cpu_has_feature(CPU_FTR_SPE)) {
if ((val == PR_ENDIAN_LITTLE && !cpu_has_feature(CPU_FTR_REAL_LE)) ||
(val == PR_ENDIAN_PPC_LITTLE && !cpu_has_feature(CPU_FTR_PPC_LE)))
if (!cpu_has_feature(CPU_FTR_PPC_LE) &&
!cpu_has_feature(CPU_FTR_REAL_LE))
if (cpu_has_feature(CPU_FTR_REAL_LE))
if (cpu_has_feature(CPU_FTR_ARCH_206)) {
if (cpu_has_feature(CPU_FTR_ARCH_206)) {
if (cpu_has_feature(CPU_FTR_VSX))
if (cpu_has_feature(CPU_FTR_ALTIVEC))
if (cpu_has_feature(CPU_FTR_VSX))
if (cpu_has_feature(CPU_FTR_SPE))
if (cpu_has_feature(CPU_FTR_ALTIVEC) && (current->thread.load_vec)) {
if (cpu_has_feature(CPU_FTR_VSX))
if (cpu_has_feature(CPU_FTR_DABRX))
else if (!cpu_has_feature(CPU_FTR_ARCH_207S))
if (cpu_has_feature(CPU_FTR_ARCH_207S))
if (cpu_has_feature(CPU_FTR_ARCH_31))
if (!cpu_has_feature(CPU_FTR_TM))
if (!cpu_has_feature(CPU_FTR_TM))
if (!cpu_has_feature(CPU_FTR_TM) || tsk != current)
if (!cpu_has_feature(CPU_FTR_TM))
if (!cpu_has_feature(CPU_FTR_TM))
if (!cpu_has_feature(CPU_FTR_TM))
if (!cpu_has_feature(CPU_FTR_TM))
if (!cpu_has_feature(CPU_FTR_TM))
if (!cpu_has_feature(CPU_FTR_TM))
if (!cpu_has_feature(CPU_FTR_TM))
if (!cpu_has_feature(CPU_FTR_TM))
if (!cpu_has_feature(CPU_FTR_TM))
if (!cpu_has_feature(CPU_FTR_TM))
if (!cpu_has_feature(CPU_FTR_TM))
if (!cpu_has_feature(CPU_FTR_TM))
if (!cpu_has_feature(CPU_FTR_TM))
if (!cpu_has_feature(CPU_FTR_TM))
if (!cpu_has_feature(CPU_FTR_TM))
if (!cpu_has_feature(CPU_FTR_TM))
if (!cpu_has_feature(CPU_FTR_TM))
if (!cpu_has_feature(CPU_FTR_TM))
if (!cpu_has_feature(CPU_FTR_TM))
if (!cpu_has_feature(CPU_FTR_TM))
if (!cpu_has_feature(CPU_FTR_TM))
if (!cpu_has_feature(CPU_FTR_TM))
if (!cpu_has_feature(CPU_FTR_ARCH_207S))
if (!cpu_has_feature(CPU_FTR_ARCH_207S))
if (!cpu_has_feature(CPU_FTR_ARCH_207S))
if (!cpu_has_feature(CPU_FTR_ARCH_207S))
if (!cpu_has_feature(CPU_FTR_ARCH_207S))
if (!cpu_has_feature(CPU_FTR_ARCH_207S))
if (!cpu_has_feature(CPU_FTR_ARCH_31))
if (!cpu_has_feature(CPU_FTR_ARCH_31))
if (!cpu_has_feature(CPU_FTR_ARCH_31))
if (!cpu_has_feature(CPU_FTR_ARCH_31))
if (!cpu_has_feature(CPU_FTR_ARCH_31))
if (cpu_has_feature(CPU_FTR_ARCH_300))
else if (cpu_has_feature(CPU_FTR_ARCH_207S))
else if (cpu_has_feature(CPU_FTR_ARCH_206))
if (cpu_has_feature(CPU_FTR_ALTIVEC))
if (cpu_has_feature(CPU_FTR_TAU)) {
if (!cpu_has_feature(CPU_FTR_SMT)) {
if (cpu_has_feature(CPU_FTR_SMT))
if (cpu_has_feature(CPU_FTR_L2CR)) {
if (cpu_has_feature(CPU_FTR_L3CR)) {
if (cpu_has_feature(CPU_FTR_CAN_DOZE) ||
cpu_has_feature(CPU_FTR_CAN_NAP))
if (cpu_has_feature(CPU_FTR_CAN_DOZE) ||
cpu_has_feature(CPU_FTR_CAN_NAP))
if (cpu_has_feature(CPU_FTR_HVMODE)) {
if (cpu_has_feature(CPU_FTR_ARCH_31)) {
} else if (cpu_has_feature(CPU_FTR_ARCH_207S)) {
if (cpu_has_feature(CPU_FTR_HVMODE)) {
if (cpu_has_feature(CPU_FTR_TM_COMP))
if (cpu_has_feature(CPU_FTR_DEBUG_LVL_EXC))
if (!cpu_has_feature(CPU_FTR_TM))
if (!cpu_has_feature(CPU_FTR_TM))
if (cpu_has_feature(CPU_FTR_ALTIVEC))
if (cpu_has_feature(CPU_FTR_ALTIVEC))
if (cpu_has_feature(CPU_FTR_ALTIVEC))
if (cpu_has_feature(CPU_FTR_ALTIVEC))
if (cpu_has_feature(CPU_FTR_ALTIVEC))
if (cpu_has_feature(CPU_FTR_ALTIVEC))
if (cpu_has_feature(CPU_FTR_ALTIVEC))
if (!cpu_has_feature(CPU_FTR_TM))
if (cpu_has_feature(CPU_FTR_ALTIVEC))
if (system_state < SYSTEM_RUNNING && cpu_has_feature(CPU_FTR_SMT)) {
if (cpu_has_feature(CPU_FTR_ASYM_SMT)) {
if (cpu_has_feature(CPU_FTR_SPURR)) {
if (cpu_has_feature(CPU_FTR_DSCR))
if (cpu_has_feature(CPU_FTR_PPCAS_ARCH_V2))
if (cpu_has_feature(CPU_FTR_ARCH_206) &&
if (cpu_has_feature(CPU_FTR_DSCR)) {
if (!cpu_has_feature(CPU_FTR_SMT))
if (cpu_has_feature(CPU_FTR_SMT))
if (cpu_has_feature(CPU_FTR_MMCRA))
if (cpu_has_feature(CPU_FTR_ARCH_31))
if (cpu_has_feature(CPU_FTR_PURR)) {
if (cpu_has_feature(CPU_FTR_SPURR)) {
if (cpu_has_feature(CPU_FTR_DSCR))
if (cpu_has_feature(CPU_FTR_PPCAS_ARCH_V2))
if (cpu_has_feature(CPU_FTR_ARCH_206) &&
if (cpu_has_feature(CPU_FTR_SMT))
if (cpu_has_feature(CPU_FTR_MMCRA))
if (cpu_has_feature(CPU_FTR_ARCH_31))
if (cpu_has_feature(CPU_FTR_PURR)) {
if (!cpu_has_feature(CPU_FTR_TAU)) {
if (cpu_has_feature(CPU_FTR_SPURR))
if (cpu_has_feature(CPU_FTR_PURR))
cpu_has_feature(CPU_FTR_ARCH_207S))
if (!cpu_has_feature(CPU_FTR_ARCH_300))
if (cpu_has_feature(CPU_FTR_HVMODE))
if (!cpu_has_feature(CPU_FTR_ARCH_300))
cpu_has_feature(CPU_FTR_DSCR)) {
cpu_has_feature(CPU_FTR_DSCR)) {
if (cpu_has_feature(CPU_FTR_DEXCR_NPHIE)) {
if (!cpu_has_feature(CPU_FTR_TM))
if (cpu_has_feature(CPU_FTR_HVMODE)) {
if (cpu_has_feature(CPU_FTR_ARCH_31) &&
if (cpu_has_feature(CPU_FTR_VSX)) {
if (cpu_has_feature(CPU_FTR_VSX)) {
if (cpu_has_feature(CPU_FTR_ARCH_300)) {
if (cpu_has_feature(CPU_FTR_ARCH_300)) {
if (cpu_has_feature(CPU_FTR_ARCH_300)) {
if (cpu_has_feature(CPU_FTR_ARCH_300)) {
if (cpu_has_feature(CPU_FTR_ARCH_300))
if (cpu_has_feature(CPU_FTR_ARCH_300)) {
if (!cpu_has_feature(CPU_FTR_ARCH_300)) {
if (cpu_has_feature(CPU_FTR_HVMODE)) {
if (!cpu_has_feature(CPU_FTR_ARCH_300)) {
if (cpu_has_feature(CPU_FTR_ARCH_207S))
if (cpu_has_feature(CPU_FTR_ARCH_300))
if (cpu_has_feature(CPU_FTR_ARCH_300)) {
if (cpu_has_feature(CPU_FTR_ARCH_300)) {
if (cpu_has_feature(CPU_FTR_ARCH_300)) {
if (!cpu_has_feature(CPU_FTR_TM))
if (!cpu_has_feature(CPU_FTR_TM))
if (!cpu_has_feature(CPU_FTR_TM))
if (!cpu_has_feature(CPU_FTR_TM))
if (!cpu_has_feature(CPU_FTR_TM))
if (!cpu_has_feature(CPU_FTR_TM))
if (!cpu_has_feature(CPU_FTR_ARCH_300)) {
if (cpu_has_feature(CPU_FTR_P9_RADIX_PREFETCH_BUG) &&
if (kvm_is_radix(vcpu->kvm) || !cpu_has_feature(CPU_FTR_ARCH_300)) {
if (kvm_is_radix(vcpu->kvm) || !cpu_has_feature(CPU_FTR_ARCH_300)) {
if (cpu_has_feature(CPU_FTR_ARCH_300)) {
if (cpu_has_feature(CPU_FTR_ARCH_300)) {
if (cpu_has_feature(CPU_FTR_ARCH_207S)) {
if (!cpu_has_feature(CPU_FTR_ARCH_207S))
if (kvm_is_radix(kvm) && cpu_has_feature(CPU_FTR_P9_RADIX_PREFETCH_BUG))
if (!cpu_has_feature(CPU_FTR_ARCH_300))
if (cpu_has_feature(CPU_FTR_ARCH_300))
if (cpu_has_feature(CPU_FTR_ALTIVEC))
if (cpu_has_feature(CPU_FTR_ALTIVEC))
if (cpu_has_feature(CPU_FTR_ARCH_300))
if (cpu_has_feature(CPU_FTR_ALTIVEC))
if (cpu_has_feature(CPU_FTR_ALTIVEC))
if (cpu_has_feature(CPU_FTR_ARCH_300))
if (cpu_has_feature(CPU_FTR_ARCH_300) == IS_ENABLED(CONFIG_KVM_BOOK3S_HV_P9_TIMING))
WARN_ON_ONCE(cpu_has_feature(CPU_FTR_ARCH_300));
if (cpu_has_feature(CPU_FTR_ARCH_31)) {
if (cpu_has_feature(CPU_FTR_ARCH_31))
if (cpu_has_feature(CPU_FTR_HVMODE)) {
if (cpu_has_feature(CPU_FTR_P9_TM_HV_ASSIST))
if (cpu_has_feature(CPU_FTR_TM_COMP))
if (cpu_has_feature(CPU_FTR_ARCH_300)) {
if (vcore && cpu_has_feature(CPU_FTR_ARCH_300)) {
WARN_ON_ONCE(cpu_has_feature(CPU_FTR_ARCH_300));
if (!cpu_has_feature(CPU_FTR_ARCH_300)) {
if (cpu_has_feature(CPU_FTR_ARCH_300)) {
if (!cpu_has_feature(CPU_FTR_HVMODE))
WARN_ON_ONCE(cpu_has_feature(CPU_FTR_ARCH_300));
WARN_ON_ONCE(cpu_has_feature(CPU_FTR_ARCH_300));
if (cpu_has_feature(CPU_FTR_ARCH_300))
if (!cpu_has_feature(CPU_FTR_ARCH_207S))
if (cpu_has_feature(CPU_FTR_ARCH_300)) {
if (WARN_ON_ONCE(cpu_has_feature(CPU_FTR_ARCH_300)))
is_power8 = cpu_has_feature(CPU_FTR_ARCH_207S);
if (cpu_has_feature(CPU_FTR_P11_PVR))
if (cpu_has_feature(CPU_FTR_P11_PVR) || cpu_has_feature(CPU_FTR_ARCH_31))
else if (cpu_has_feature(CPU_FTR_ARCH_300))
else if (cpu_has_feature(CPU_FTR_ARCH_207S))
else if (cpu_has_feature(CPU_FTR_ARCH_206))
WARN_ON_ONCE(cpu_has_feature(CPU_FTR_ARCH_300));
if (cpu_has_feature(CPU_FTR_ARCH_300))
if (cpu_has_feature(CPU_FTR_TM) && current->thread.regs &&
if (cpu_has_feature(CPU_FTR_ALTIVEC))
if (cpu_has_feature(CPU_FTR_VSX))
if ((cpu_has_feature(CPU_FTR_TM) ||
cpu_has_feature(CPU_FTR_P9_TM_HV_ASSIST)) &&
if (!cpu_has_feature(CPU_FTR_ARCH_300))
if (cpu_has_feature(CPU_FTR_ARCH_300))
info->instr_keys = cpu_has_feature(CPU_FTR_ARCH_207S) ? 32 : 0;
if (!cpu_has_feature(CPU_FTR_ARCH_300)) {
if (cpu_has_feature(CPU_FTR_ARCH_31))
if (cpu_has_feature(CPU_FTR_ARCH_31)) {
if (cpu_has_feature(CPU_FTR_HVMODE) &&
if (cpu_has_feature(CPU_FTR_ARCH_300))
if (!cpu_has_feature(CPU_FTR_ARCH_300))
if (!cpu_has_feature(CPU_FTR_ARCH_300))
if (cpu_has_feature(CPU_FTR_HVMODE)) {
if (cpu_has_feature(CPU_FTR_ARCH_207S))
if (cpu_has_feature(CPU_FTR_ARCH_300)) {
if (cpu_has_feature(CPU_FTR_HVMODE) &&
cpu_has_feature(CPU_FTR_ARCH_31) &&
if (cpu_has_feature(CPU_FTR_ARCH_31)) {
else if (cpu_has_feature(CPU_FTR_ARCH_300))
else if (cpu_has_feature(CPU_FTR_ARCH_207S))
if (!cpu_has_feature(CPU_FTR_ARCH_300))
if (!cpu_has_feature(CPU_FTR_ARCH_300))
if (!cpu_has_feature(CPU_FTR_ARCH_300))
if (cpu_has_feature(CPU_FTR_ARCH_300)) {
if (cpu_has_feature(CPU_FTR_HVMODE) &&
cpu_has_feature(CPU_FTR_ARCH_206))
if (cpu_has_feature(CPU_FTR_ARCH_300) && radix_enabled())
if (!cpu_has_feature(CPU_FTR_ARCH_300))
if (!cpu_has_feature(CPU_FTR_ARCH_300))
if (!cpu_has_feature(CPU_FTR_DAWR1))
if (!cpu_has_feature(CPU_FTR_ARCH_300))
if (!cpu_has_feature(CPU_FTR_HVMODE))
return cpu_has_feature(CPU_FTR_ARCH_300) && radix_enabled();
if (!cpu_has_feature(CPU_FTR_ARCH_300)) {
WARN_ON_ONCE(cpu_has_feature(CPU_FTR_ARCH_300));
if (cpu_has_feature(CPU_FTR_ARCH_300))
cpu_has_feature(CPU_FTR_ARCH_207S))
if (!cpu_has_feature(CPU_FTR_DAWR1))
if (cpu_has_feature(CPU_FTR_P9_RADIX_PREFETCH_BUG) &&
if (cpu_has_feature(CPU_FTR_ARCH_300)) {
if (cpu_has_feature(CPU_FTR_ARCH_207S) &&
WARN_ON_ONCE(cpu_has_feature(CPU_FTR_ARCH_300));
if (!cpu_has_feature(CPU_FTR_HVMODE))
if (cpu_has_feature(CPU_FTR_P11_PVR))
if (cpu_has_feature(CPU_FTR_ARCH_31))
if (cpu_has_feature(CPU_FTR_ARCH_300))
if (cpu_has_feature(CPU_FTR_P11_PVR))
else if (cpu_has_feature(CPU_FTR_ARCH_31))
else if (cpu_has_feature(CPU_FTR_ARCH_300))
if (cpu_has_feature(CPU_FTR_TM) ||
cpu_has_feature(CPU_FTR_P9_TM_HV_ASSIST)) {
if (cpu_has_feature(CPU_FTR_P9_TIDR) &&
if (cpu_has_feature(CPU_FTR_ALTIVEC) &&
if (cpu_has_feature(CPU_FTR_ALTIVEC) &&
if (cpu_has_feature(CPU_FTR_P9_TIDR) &&
if (cpu_has_feature(CPU_FTR_ALTIVEC))
if (cpu_has_feature(CPU_FTR_VSX))
if ((cpu_has_feature(CPU_FTR_TM) ||
cpu_has_feature(CPU_FTR_P9_TM_HV_ASSIST)) &&
if (cpu_has_feature(CPU_FTR_P9_TM_HV_ASSIST))
if (cpu_has_feature(CPU_FTR_DAWR1)) {
if (cpu_has_feature(CPU_FTR_DAWR1)) {
if (cpu_has_feature(CPU_FTR_ALTIVEC))
if (cpu_has_feature(CPU_FTR_P9_TM_HV_ASSIST)) {
if (cpu_has_feature(CPU_FTR_P9_RADIX_PREFETCH_BUG))
cpu_has_feature(CPU_FTR_P9_RADIX_PREFETCH_BUG))
if (cpu_has_feature(CPU_FTR_P9_TIDR))
if (cpu_has_feature(CPU_FTR_P9_TM_HV_ASSIST)) {
if (cpu_has_feature(CPU_FTR_DAWR1)) {
if (cpu_has_feature(CPU_FTR_TM) ||
if (cpu_has_feature(CPU_FTR_ARCH_31))
cpu_has_feature(CPU_FTR_P9_TM_HV_ASSIST)) {
if (cpu_has_feature(CPU_FTR_ARCH_31)) {
if (cpu_has_feature(CPU_FTR_ARCH_31)) {
if (cpu_has_feature(CPU_FTR_ARCH_31)) {
if (cpu_has_feature(CPU_FTR_ARCH_31)) {
if (cpu_has_feature(CPU_FTR_ARCH_31)) {
if (cpu_has_feature(CPU_FTR_ARCH_31)) {
if (cpu_has_feature(CPU_FTR_ARCH_300)) {
if (cpu_has_feature(CPU_FTR_ARCH_300)) {
if (cpu_has_feature(CPU_FTR_ARCH_300))
if (cpu_has_feature(CPU_FTR_ARCH_300)) {
if (cpu_has_feature(CPU_FTR_ARCH_300)) {
if (cpu_has_feature(CPU_FTR_ARCH_300)) {
if (cpu_has_feature(CPU_FTR_P9_TLBIE_ERAT_BUG)) {
if (cpu_has_feature(CPU_FTR_P9_TLBIE_STQ_BUG)) {
if (cpu_has_feature(CPU_FTR_ARCH_300)) {
if (cpu_has_feature(CPU_FTR_ARCH_300)) {
if (cpu_has_feature(CPU_FTR_ARCH_300))
if (cpu_has_feature(CPU_FTR_ARCH_300)) {
if (cpu_has_feature(CPU_FTR_HVMODE)) {
if (cpu_has_feature(CPU_FTR_ARCH_207S))
if (cpu_has_feature(CPU_FTR_ARCH_300) && (current->thread.fscr & FSCR_SCV))
if (cpu_has_feature(CPU_FTR_ALTIVEC))
if (cpu_has_feature(CPU_FTR_ALTIVEC))
if (cpu_has_feature(CPU_FTR_ALTIVEC))
if (cpu_has_feature(CPU_FTR_ALTIVEC))
if (cpu_has_feature(CPU_FTR_HVMODE)) {
if (cpu_has_feature(CPU_FTR_ARCH_207S))
if (cpu_has_feature(CPU_FTR_ARCH_300) && (current->thread.fscr & FSCR_SCV))
if (!cpu_has_feature(CPU_FTR_ARCH_300))
if (cpu_has_feature(CPU_FTR_ARCH_300) && radix_enabled())
if (cpu_has_feature(CPU_FTR_ARCH_207S))
if (cpu_has_feature(CPU_FTR_ARCH_207S))
if (!cpu_has_feature(CPU_FTR_VSX))
BUG_ON(!cpu_has_feature(CPU_FTR_ARCH_207S));
if (cpu_has_feature(CPU_FTR_ARCH_206) &&
cpu_has_feature(CPU_FTR_HVMODE)) {
if (cpu_has_feature(CPU_FTR_ALTIVEC)) {
if (cpu_has_feature(CPU_FTR_ALTIVEC)) {
if (cpu_has_feature(CPU_FTR_DEBUG_LVL_EXC)) {
if (cpu_has_feature(CPU_FTR_DEBUG_LVL_EXC))
if (cpu_has_feature(CPU_FTR_ALTIVEC))
if (!cpu_has_feature(CPU_FTR_ALTIVEC)) {
if (!cpu_has_feature(CPU_FTR_ALTIVEC)) {
if (!cpu_has_feature(CPU_FTR_ALTIVEC)) {
if (!cpu_has_feature(CPU_FTR_ALTIVEC)) {
if (!cpu_has_feature(CPU_FTR_ALTIVEC)) {
if (!cpu_has_feature(CPU_FTR_EMB_HV))
r = xive_enabled() && !!cpu_has_feature(CPU_FTR_HVMODE) &&
if (cpu_has_feature(CPU_FTR_ARCH_300))
if (!cpu_has_feature(CPU_FTR_ARCH_300))
(hv_enabled && cpu_has_feature(CPU_FTR_P9_TM_HV_ASSIST));
} else if (cpu_has_feature(CPU_FTR_ARCH_207S) &&
!cpu_has_feature(CPU_FTR_P9_RADIX_PREFETCH_BUG)) {
if (cpu_has_feature(CPU_FTR_HVMODE)) {
if (cpu_has_feature(CPU_FTR_HVMODE))
if (cpu_has_feature(CPU_FTR_ARCH_207S))
if (cpu_has_feature(CPU_FTR_ARCH_207S))
if (cpu_has_feature(CPU_FTR_ARCH_300)) {
if (!cpu_has_feature(CPU_FTR_ARCH_300))
if (!cpu_has_feature(CPU_FTR_ARCH_31))
if (!cpu_has_feature(CPU_FTR_ARCH_300))
if (!cpu_has_feature(CPU_FTR_ARCH_300))
if (!cpu_has_feature(CPU_FTR_ARCH_300))
if (!cpu_has_feature(CPU_FTR_ARCH_300))
if (!cpu_has_feature(CPU_FTR_ARCH_300))
if (!cpu_has_feature(CPU_FTR_ARCH_300))
if (!cpu_has_feature(CPU_FTR_ARCH_300))
if (!cpu_has_feature(CPU_FTR_ARCH_300))
if (!cpu_has_feature(CPU_FTR_ARCH_300))
if (!cpu_has_feature(CPU_FTR_ARCH_300))
if (!cpu_has_feature(CPU_FTR_ARCH_300))
if (!cpu_has_feature(CPU_FTR_ARCH_300))
if (!cpu_has_feature(CPU_FTR_ARCH_300))
if (!cpu_has_feature(CPU_FTR_ARCH_31))
if (!cpu_has_feature(CPU_FTR_ARCH_300))
if (!cpu_has_feature(CPU_FTR_ARCH_300))
if (!cpu_has_feature(CPU_FTR_ARCH_300))
if (!cpu_has_feature(CPU_FTR_ARCH_31))
if (!cpu_has_feature(CPU_FTR_ARCH_300))
if (!cpu_has_feature(CPU_FTR_ARCH_300))
if (!cpu_has_feature(CPU_FTR_ARCH_300))
if (!cpu_has_feature(CPU_FTR_ARCH_300))
if (!cpu_has_feature(CPU_FTR_ARCH_300))
if (!cpu_has_feature(CPU_FTR_ARCH_300))
if (!cpu_has_feature(CPU_FTR_ARCH_300))
if (!cpu_has_feature(CPU_FTR_ARCH_300))
if (!cpu_has_feature(CPU_FTR_ARCH_300))
if (!cpu_has_feature(CPU_FTR_ARCH_300))
if (!cpu_has_feature(CPU_FTR_ARCH_31))
if (!cpu_has_feature(CPU_FTR_ARCH_300))
if (!cpu_has_feature(CPU_FTR_ARCH_300))
if (!cpu_has_feature(CPU_FTR_ARCH_300))
if (!cpu_has_feature(CPU_FTR_ARCH_300))
if (!cpu_has_feature(CPU_FTR_ARCH_31))
!cpu_has_feature(CPU_FTR_VSX)) {
if (!cpu_has_feature(CPU_FTR_ARCH_31)) {
if (!cpu_has_feature(CPU_FTR_ARCH_31)) {
if (!cpu_has_feature(CPU_FTR_ARCH_31)) {
if (!cpu_has_feature(CPU_FTR_ARCH_31)) {
if (!cpu_has_feature(CPU_FTR_ARCH_31)) {
if (stepped == 1 && cpu_has_feature(CPU_FTR_VSX)) {
if (!cpu_has_feature(CPU_FTR_VSX))
cpu_has_feature(CPU_FTR_VSX)) {
if (!cpu_has_feature(CPU_FTR_VSX))
if (!cpu_has_feature(CPU_FTR_ARCH_31)) {
if (stepped == 1 && cpu_has_feature(CPU_FTR_VSX)) {
if (!cpu_has_feature(CPU_FTR_VSX))
cpu_has_feature(CPU_FTR_VSX)) {
if (!cpu_has_feature(CPU_FTR_VSX))
if (!cpu_has_feature(CPU_FTR_ARCH_31)) {
if (stepped == 1 && cpu_has_feature(CPU_FTR_VSX)) {
if (!cpu_has_feature(CPU_FTR_VSX))
cpu_has_feature(CPU_FTR_VSX)) {
if (!cpu_has_feature(CPU_FTR_VSX))
if (!cpu_has_feature(CPU_FTR_ARCH_31)) {
if (stepped == 1 && cpu_has_feature(CPU_FTR_VSX)) {
if (!cpu_has_feature(CPU_FTR_VSX))
cpu_has_feature(CPU_FTR_VSX)) {
if (!cpu_has_feature(CPU_FTR_VSX))
if (!cpu_has_feature(CPU_FTR_NEED_COHERENT))
(cpu_has_feature(CPU_FTR_NEED_COHERENT) == 0))
if (cpu_has_feature(CPU_FTR_NOEXECUTE) &&
!cpu_has_feature(CPU_FTR_COHERENT_ICACHE))
if (cpu_has_feature(CPU_FTR_NOEXECUTE) &&
!cpu_has_feature(CPU_FTR_COHERENT_ICACHE))
if (cpu_has_feature(CPU_FTR_NOEXECUTE) &&
!cpu_has_feature(CPU_FTR_COHERENT_ICACHE)) {
if (cpu_has_feature(CPU_FTR_P9_TLBIE_ERAT_BUG)) {
if (cpu_has_feature(CPU_FTR_P9_TLBIE_STQ_BUG)) {
if (cpu_has_feature(CPU_FTR_ARCH_300)) {
if (cpu_has_feature(CPU_FTR_ARCH_300)) {
if (!cpu_has_feature(CPU_FTR_ARCH_300))
if (cpu_has_feature(CPU_FTR_ARCH_206)
&& cpu_has_feature(CPU_FTR_HVMODE))
if (!cpu_has_feature(CPU_FTR_ARCH_300))
if (cpu_has_feature(CPU_FTR_ARCH_206)
&& cpu_has_feature(CPU_FTR_HVMODE))
if (local && cpu_has_feature(CPU_FTR_TM) && current->thread.regs &&
return !cpu_has_feature(CPU_FTR_ARCH_207S) &&
if (!cpu_has_feature(CPU_FTR_COHERENT_ICACHE))
if (!cpu_has_feature(CPU_FTR_ARCH_31) &&
if (!cpu_has_feature(CPU_FTR_ARCH_31) && (change & _PAGE_RW) &&
if (!cpu_has_feature(CPU_FTR_ARCH_31) &&
if (!cpu_has_feature(CPU_FTR_HVMODE) &&
cpu_has_feature(CPU_FTR_P9_RADIX_PREFETCH_BUG)) {
if (cpu_has_feature(CPU_FTR_P9_TLBIE_ERAT_BUG)) {
if (cpu_has_feature(CPU_FTR_P9_TLBIE_STQ_BUG)) {
if (cpu_has_feature(CPU_FTR_P9_TLBIE_ERAT_BUG)) {
if (cpu_has_feature(CPU_FTR_P9_TLBIE_STQ_BUG)) {
if (cpu_has_feature(CPU_FTR_P9_TLBIE_ERAT_BUG)) {
if (cpu_has_feature(CPU_FTR_P9_TLBIE_STQ_BUG)) {
if (cpu_has_feature(CPU_FTR_P9_TLBIE_ERAT_BUG)) {
if (cpu_has_feature(CPU_FTR_P9_TLBIE_STQ_BUG)) {
if (cpu_has_feature(CPU_FTR_P9_TLBIE_ERAT_BUG)) {
if (cpu_has_feature(CPU_FTR_P9_TLBIE_STQ_BUG)) {
if (cpu_has_feature(CPU_FTR_P9_TLBIE_ERAT_BUG)) {
if (cpu_has_feature(CPU_FTR_P9_TLBIE_STQ_BUG)) {
if (cpu_has_feature(CPU_FTR_P9_TLBIE_ERAT_BUG)) {
if (cpu_has_feature(CPU_FTR_P9_TLBIE_STQ_BUG)) {
if (!cpu_has_feature(CPU_FTR_ARCH_31)) {
if (cpu_has_feature(CPU_FTR_ARCH_31))
} else if (cpu_has_feature(CPU_FTR_ARCH_300)) {
if (!cpu_has_feature(CPU_FTR_ARCH_207S) && offset == 1)
if (cpu_has_feature(CPU_FTR_ARCH_300))
if (!cpu_has_feature(CPU_FTR_ARCH_206))
if (cpu_has_feature(CPU_FTR_COHERENT_ICACHE)) {
(cpu_has_feature(CPU_FTR_NOEXECUTE) ||
if (cpu_has_feature(CPU_FTR_ALTIVEC))
if (!cpu_has_feature(CPU_FTR_SMT))
if (!cpu_has_feature(CPU_FTR_SMT))
if (pte_looks_normal(pte, addr) && !(cpu_has_feature(CPU_FTR_COHERENT_ICACHE) ||
cpu_has_feature(CPU_FTR_NOEXECUTE))) {
if (cpu_has_feature(CPU_FTR_ARCH_300))
if (cpu_has_feature(CPU_FTR_ARCH_300)) {
if (cpu_has_feature(CPU_FTR_ARCH_206)) {
if (val == 0 || (val == 7 && !cpu_has_feature(CPU_FTR_ARCH_31))) {
if (cpu_has_feature(CPU_FTR_HVMODE) && pmu_override) {
if (!cpu_has_feature(CPU_FTR_PMAO_BUG))
if (!cpu_has_feature(CPU_FTR_ARCH_300))
if (cpu_has_feature(CPU_FTR_ARCH_31)) {
if (cpu_has_feature(CPU_FTR_ARCH_300)) {
if (cpu_has_feature(CPU_FTR_ARCH_31)) {
if (cpu_has_feature(CPU_FTR_ARCH_31))
if (cpu_has_feature(CPU_FTR_ARCH_300))
if (cpu_has_feature(CPU_FTR_ARCH_300))
if (cpu_has_feature(CPU_FTR_ARCH_300))
if (cpu_has_feature(CPU_FTR_ARCH_31))
if (cpu_has_feature(CPU_FTR_ARCH_31)) {
if (cpu_has_feature(CPU_FTR_ARCH_31)) {
if (cpu_has_feature(CPU_FTR_ARCH_31)) {
if (val != 1 && val != 2 && !(val == 7 && cpu_has_feature(CPU_FTR_ARCH_31))) {
if (cpu_has_feature(CPU_FTR_ARCH_31))
if (val == 0 || (val == 7 && !cpu_has_feature(CPU_FTR_ARCH_31)))
if (cpu_has_feature(CPU_FTR_ARCH_31)) {
if (cpu_has_feature(CPU_FTR_ARCH_31))
if (cpu_has_feature(CPU_FTR_ARCH_31)) {
} else if (cpu_has_feature(CPU_FTR_ARCH_300)) {
} else if (cpu_has_feature(CPU_FTR_ARCH_300) || (event & EVENT_IS_L1)) {
if (cpu_has_feature(CPU_FTR_ARCH_31)) {
if (cpu_has_feature(CPU_FTR_ARCH_31)) {
} else if (cpu_has_feature(CPU_FTR_ARCH_300)) {
if (cpu_has_feature(CPU_FTR_ARCH_31))
if (cpu_has_feature(CPU_FTR_ARCH_31))
else if (cpu_has_feature(CPU_FTR_ARCH_300))
if (cpu_has_feature(CPU_FTR_ARCH_300)) {
if (cpu_has_feature(CPU_FTR_ARCH_31)) {
if (!cpu_has_feature(CPU_FTR_ARCH_300) && event_is_fab_match(event[i])) {
if (!cpu_has_feature(CPU_FTR_ARCH_31)) {
if (cpu_has_feature(CPU_FTR_ARCH_31) && (unit == 6)) {
if (cpu_has_feature(CPU_FTR_ARCH_31) &&
if (cpu_has_feature(CPU_FTR_HVMODE))
if (cpu_has_feature(CPU_FTR_ARCH_31)) {
if (cpu_has_feature(CPU_FTR_ARCH_31))
if (cpu_has_feature(CPU_FTR_ARCH_31))
if (cpu_has_feature(CPU_FTR_PMAO_BUG))
if (WARN_ON_ONCE(!cpu_has_feature(CPU_FTR_SMT)))
if (cpu_has_feature(CPU_FTR_DBELL)) {
if (cpu_has_feature(CPU_FTR_L2CR)) {
if (!cpu_has_feature(CPU_FTR_L2CR))
if (!cpu_has_feature(CPU_FTR_L3CR))
if (cpu_has_feature(CPU_FTR_ARCH_31))
if (cpu_has_feature(CPU_FTR_ARCH_300) && deepest_stop_found) {
} else if (cpu_has_feature(CPU_FTR_ARCH_206) && power7_offline_type) {
if (!cpu_has_feature(CPU_FTR_ARCH_300)) {
if (cpu_has_feature(CPU_FTR_ARCH_300) &&
if (cpu_has_feature(CPU_FTR_ARCH_300))
if (cpu_has_feature(CPU_FTR_ARCH_300)) {
if (!cpu_has_feature(CPU_FTR_ARCH_300)) {
if (!cpu_has_feature(CPU_FTR_ARCH_300)) {
if (cpu_has_feature(CPU_FTR_ARCH_207S)) {
if (cpu_has_feature(CPU_FTR_ARCH_207S)) {
if (cpu_has_feature(CPU_FTR_ARCH_207S)) {
if (cpu_has_feature(CPU_FTR_ARCH_207S)) {
if (cpu_has_feature(CPU_FTR_P9_TM_XER_SO_BUG)) {
if (!cpu_has_feature(CPU_FTR_POWER9_DD2_1)) {
if (!cpu_has_feature(CPU_FTR_POWER9_DD2_1)) {
if (cpu_has_feature(CPU_FTR_ARCH_300)) {
if (cpu_has_feature(CPU_FTR_ARCH_31))
if (cpu_has_feature(CPU_FTR_ARCH_207S) &&
!cpu_has_feature(CPU_FTR_ARCH_300))
if (!cpu_has_feature(CPU_FTR_ARCH_300))
if (cpu_has_feature(CPU_FTR_ARCH_300))
if (cpu_has_feature(CPU_FTR_ARCH_300)) {
if (cpu_has_feature(CPU_FTR_ARCH_207S))
if (cpu_has_feature(CPU_FTR_ARCH_207S))
if (cpu_has_feature(CPU_FTR_DBELL)) {
if (cpu_has_feature(CPU_FTR_ARCH_300))
if (cpu_has_feature(CPU_FTR_PURR))
if (cpu_has_feature(CPU_FTR_ARCH_300))
if (cpu_has_feature(CPU_FTR_ALTIVEC))
if (cpu_has_feature(CPU_FTR_ARCH_207S))
if (!cpu_has_feature(CPU_FTR_ARCH_207S))
if (!cpu_has_feature(CPU_FTR_DBELL))
if (!cpu_has_feature(CPU_FTR_SMT))
if (cpu_has_feature(CPU_FTR_SMT)) {
if (cpu_has_feature(CPU_FTR_TM))
if (cpu_has_feature(CPU_FTR_ALTIVEC))
if (cpu_has_feature(CPU_FTR_VSX))
if (!cpu_has_feature(CPU_FTR_ARCH_207S)) {
if (!trap_is_syscall(fp) && cpu_has_feature(CPU_FTR_CFAR)) {
if (!cpu_has_feature(CPU_FTR_ARCH_206))
if (!cpu_has_feature(CPU_FTR_ARCH_207S))
if (!cpu_has_feature(CPU_FTR_ARCH_300))
if (cpu_has_feature(CPU_FTR_P9_TIDR)) {
if (!cpu_has_feature(CPU_FTR_ARCH_31))
bool hv = cpu_has_feature(CPU_FTR_HVMODE);
if (!cpu_has_feature(CPU_FTR_ARCH_207S))
if (cpu_has_feature(CPU_FTR_HVMODE)) {
if (cpu_has_feature(CPU_FTR_HVMODE))
if (cpu_has_feature(CPU_FTR_ALTIVEC))
cpu_has_feature(CPU_FTR_L3CR)) {
cpu_has_feature(CPU_FTR_L3CR)) {
if (cpu_has_feature(CPU_FTR_ARCH_31) || pvr_version_is(PVR_POWER10))
if (cpu_has_feature(CPU_FTR_ALTIVEC))
if (cpu_has_feature(CPU_FTR_P9_TIDR)) {
if (cpu_has_feature(CPU_FTR_P9_TIDR))
if (cpu_has_feature(CPU_FTR_ARCH_207S) &&
if (cpu_has_feature(CPU_FTR_ARCH_207S) &&
if (cpu_has_feature(CPU_FTR_ARCH_207S) &&
if (cpu_has_feature(CPU_FTR_ARCH_31))
if (cpu_has_feature(CPU_FTR_ARCH_31))