As a follow-up from #32 and @kent-mcleod 's comment #32 (comment) it appears that this does not only apply to ARM, but also RISC-V (and other like Loongson). I wonder if this check should be that cached is used by default for all known architectures and a failure is raised for unknown architectures if nothing set manually. That would also help future porting.