On Mon, 2016-12-05 at 19:04 +1100, Paul Mackerras wrote:
+ vec5 = of_get_flat_dt_prop(chosen, "ibm,architecture-vec-5", &size);
+ if (!vec5 || size <= OV5_INDX(OV5_MMU_RADIX_300))
+ return;
Could be bike shedding but shouldn't we first check if
we are in an LPAR and bail out of we are not, then
if we *are* and the above size is too small to contain
the ARCH 3.00 options, also disable radix as obviously
the hypervisor doesn't know about it ?
+ if (!(vec5[OV5_INDX(OV5_MMU_RADIX_300)] & OV5_FEAT(OV5_MMU_RADIX_300)))
+ /* Hypervisor doesn't support radix */
+ cur_cpu_spec->mmu_features &= ~MMU_FTR_TYPE_RADIX;
+}
+