Some Arm systems such as Apple Silicon Macs have IPA size smaller than the default used by KVM. Introduce our own default IPA size that fits on such a system. When reviewing this series, Philippe Mathieu-Daudé found the error handling around KVM type decision logic is flawed so I added a few patches for fixing the error handling path. V4 -> V5: Fixed KVM type error handling V3 -> V4: Removed an inclusion of kvm_mips.h that is no longer needed. V2 -> V3: Changed to use the maximum IPA size as the default. V1 -> V2: Introduced an arch hook Akihiko Odaki (6): kvm: Introduce kvm_arch_get_default_type hook accel/kvm: Specify default IPA size for arm64 mips: Report an error when KVM_VM_MIPS_VZ is unavailable accel/kvm: Use negative KVM type for error propagation accel/kvm: Free as when an error occurred accel/kvm: Make kvm_dirty_ring_reaper_init() void include/sysemu/kvm.h | 2 ++ target/mips/kvm_mips.h | 9 --------- accel/kvm/kvm-all.c | 19 +++++++++++-------- hw/arm/virt.c | 2 +- hw/mips/loongson3_virt.c | 2 -- hw/ppc/spapr.c | 2 +- target/arm/kvm.c | 7 +++++++ target/i386/kvm/kvm.c | 5 +++++ target/mips/kvm.c | 3 ++- target/ppc/kvm.c | 5 +++++ target/riscv/kvm.c | 5 +++++ target/s390x/kvm/kvm.c | 5 +++++ 12 files changed, 44 insertions(+), 22 deletions(-) -- 2.41.0