mmu_has_feature
if (mmu_has_feature(MMU_FTR_HPTE_TABLE)) {
if (mmu_has_feature(MMU_FTR_HPTE_TABLE)) {
if (mmu_has_feature(MMU_FTR_HPTE_TABLE))
if (mmu_has_feature(MMU_FTR_HPTE_TABLE))
if (mmu_has_feature(MMU_FTR_HPTE_TABLE))
if (mmu_has_feature(MMU_FTR_HPTE_TABLE))
if (mmu_has_feature(MMU_FTR_KUAP) ||
mmu_has_feature(MMU_FTR_BOOK3S_KUEP)) {
if (!mmu_has_feature(MMU_FTR_PKEY))
if (!mmu_has_feature(MMU_FTR_KUAP)) {
if (!mmu_has_feature(MMU_FTR_BOOK3S_KUEP)) {
if (!mmu_has_feature(MMU_FTR_KUAP))
if (!mmu_has_feature(MMU_FTR_KUAP))
if (mmu_has_feature(MMU_FTR_PKEY))
if (!mmu_has_feature(MMU_FTR_68_BIT_VA))
if (!mmu_has_feature(MMU_FTR_PKEY))
return !mmu_has_feature(MMU_FTR_KUAP);
return mmu_has_feature(MMU_FTR_TYPE_RADIX);
if ((mmu_has_feature(MMU_FTR_HPTE_TABLE) && !radix_enabled()) ||
if (!mmu_has_feature(MMU_FTR_PKEY))
if (!mmu_has_feature(MMU_FTR_PKEY))
if (!mmu_has_feature(MMU_FTR_PKEY))
return mmu_has_feature(MMU_FTR_PKEY);
if (!mmu_has_feature(MMU_FTR_PKEY))
if (!mmu_has_feature(MMU_FTR_PKEY))
if (mmu_has_feature(MMU_FTR_1T_SEGMENT))
if (mmu_has_feature(MMU_FTR_PKEY)) {
if (mmu_has_feature(MMU_FTR_KUAP)) {
if (mmu_has_feature(MMU_FTR_BOOK3S_KUEP)) {
if (mmu_has_feature(MMU_FTR_68_BIT_VA))
if (!mmu_has_feature(MMU_FTR_LOCKLESS_TLBIE))
if (mmu_has_feature(MMU_FTR_1T_SEGMENT))
int nb = mmu_has_feature(MMU_FTR_USE_HIGH_BATS) ? 8 : 4;
int nb = mmu_has_feature(MMU_FTR_USE_HIGH_BATS) ? 8 : 4;
if (!mmu_has_feature(MMU_FTR_HPTE_TABLE))
if (!mmu_has_feature(MMU_FTR_HPTE_TABLE))
if (!mmu_has_feature(MMU_FTR_HPTE_TABLE))
int n = mmu_has_feature(MMU_FTR_USE_HIGH_BATS) ? 8 : 4;
if (!mmu_has_feature(MMU_FTR_HPTE_TABLE))
if (!mmu_has_feature(MMU_FTR_CI_LARGE_PAGE) &&
if (mmu_has_feature(MMU_FTR_TLBIE_CROP_VA))
unsigned int use_local = local && mmu_has_feature(MMU_FTR_TLBIEL);
int lock_tlbie = !mmu_has_feature(MMU_FTR_LOCKLESS_TLBIE);
if (mmu_has_feature(MMU_FTR_TLBIEL) &&
int lock_tlbie = !mmu_has_feature(MMU_FTR_LOCKLESS_TLBIE);
if (mmu_has_feature(MMU_FTR_TLBIE_CROP_VA))
if (!mmu_has_feature(MMU_FTR_16M_PAGE))
if (mmu_has_feature(MMU_FTR_CI_LARGE_PAGE)) {
if (mmu_has_feature(MMU_FTR_1T_SEGMENT)) {
if (mmu_has_feature(MMU_FTR_PKEY))
if (mmu_has_feature(MMU_FTR_KERNEL_RO))
if (mmu_has_feature(MMU_FTR_68_BIT_VA))
if (!mmu_has_feature(MMU_FTR_PKEY))
if (!mmu_has_feature(MMU_FTR_PKEY))
if (!mmu_has_feature(MMU_FTR_PKEY))
if (!mmu_has_feature(MMU_FTR_PKEY))
if (!mmu_has_feature(MMU_FTR_GTSE) && type == FLUSH_TYPE_GLOBAL) {
if (!mmu_has_feature(MMU_FTR_GTSE) && type == FLUSH_TYPE_GLOBAL) {
if (!mmu_has_feature(MMU_FTR_GTSE)) {
if (!mmu_has_feature(MMU_FTR_GTSE)) {
if (!mmu_has_feature(MMU_FTR_GTSE)) {
if (!mmu_has_feature(MMU_FTR_GTSE)) {
if (!mmu_has_feature(MMU_FTR_GTSE)) {
if (mmu_has_feature(MMU_FTR_1T_SEGMENT)) {
if (!mmu_has_feature(MMU_FTR_NO_SLBIE_B) &&
if (!mmu_has_feature(MMU_FTR_1T_SEGMENT))
if (mmu_has_feature(MMU_FTR_TYPE_44x))
if (mmu_has_feature(MMU_FTR_NX_DSI))
!mmu_has_feature(MMU_FTR_16M_PAGE))
if (mmu_has_feature(MMU_FTR_TYPE_47x))
if (mmu_has_feature(MMU_FTR_TYPE_47x)) {
if (mmu_has_feature(MMU_FTR_TYPE_47x))
if (mmu_has_feature(MMU_FTR_BIG_PHYS))
if (mmu_has_feature(MMU_FTR_BIG_PHYS))
if (mmu_has_feature(MMU_FTR_USE_TLBIVAX_BCAST)) {
int lock = mmu_has_feature(MMU_FTR_LOCK_BCAST_INVAL);
if (mmu_has_feature(MMU_FTR_HPTE_TABLE))
if (mmu_has_feature(MMU_FTR_HPTE_TABLE))
if (IS_ENABLED(CONFIG_STRICT_MODULE_RWX) && mmu_has_feature(MMU_FTR_HPTE_TABLE))
if (!mmu_has_feature(MMU_FTR_KERNEL_RO)) {
if (mmu_has_feature(MMU_FTR_USE_HIGH_BATS)) {
if (mmu_has_feature(MMU_FTR_USE_HIGH_BATS)) {
if (IS_ENABLED(CONFIG_PPC_BOOK3S_64) && !mmu_has_feature(MMU_FTR_KERNEL_RO))
if (mmu_has_feature(MMU_FTR_TYPE_47x))
if (mmu_has_feature(MMU_FTR_TYPE_47x))
if (mmu_has_feature(MMU_FTR_KERNEL_RO))
int lock_tlbie = !mmu_has_feature(MMU_FTR_LOCKLESS_TLBIE);
int lock_tlbie = !mmu_has_feature(MMU_FTR_LOCKLESS_TLBIE);
if (!mmu_has_feature(MMU_FTR_68_BIT_VA))
if (mmu_has_feature(MMU_FTR_GTSE))
if (mmu_has_feature(MMU_FTR_KERNEL_RO))
if (radix_enabled() && !mmu_has_feature(MMU_FTR_GTSE))