@samitouri / QOSamiQemu / commits / 1842537960

i386/kvm: refactor xen init into a new function

Cosmetic - no new functionality added. Xen initialisation code is refactored into its own function. Signed-off-by: Ani Sinha <anisinha@redhat.com> Link: https://lore.kernel.org/r/20260225035000.385950-12-anisinha@redhat.com Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

Ani Sinha committed Feb 25, 2026 at 09:19 UTC 1842537960b7f53a23d3632e9f88922cc69e66fc
1 file changed +19 -12
target/i386/kvm/kvm.c
+19 -12
@@ -3433,6 +3433,24 @@ bool kvm_arch_supports_vmfd_change(void)
3433 return true;
3434 }
3435
3436 +static int xen_init(MachineState *ms, KVMState *s)
3437 +{
3438 +#ifdef CONFIG_XEN_EMU
3439 + int ret = 0;
3440 + if (!object_dynamic_cast(OBJECT(ms), TYPE_PC_MACHINE)) {
3441 + error_report("kvm: Xen support only available in PC machine");
3442 + return -ENOTSUP;
3443 + }
3444 + /* hyperv_enabled() doesn't work yet. */
3445 + uint32_t msr = XEN_HYPERCALL_MSR;
3446 + ret = kvm_xen_init(s, msr);
3447 + return ret;
3448 +#else
3449 + error_report("kvm: Xen support not enabled in qemu");
3450 + return -ENOTSUP;
3451 +#endif
3452 +}
3453 +
3454 int kvm_arch_init(MachineState *ms, KVMState *s)
3455 {
3456 int ret;
@@ -3467,21 +3485,10 @@ int kvm_arch_init(MachineState *ms, KVMState *s)
3485 }
3486
3487 if (s->xen_version) {
3470 -#ifdef CONFIG_XEN_EMU
3471 - if (!object_dynamic_cast(OBJECT(ms), TYPE_PC_MACHINE)) {
3472 - error_report("kvm: Xen support only available in PC machine");
3473 - return -ENOTSUP;
3474 - }
3475 - /* hyperv_enabled() doesn't work yet. */
3476 - uint32_t msr = XEN_HYPERCALL_MSR;
3477 - ret = kvm_xen_init(s, msr);
3488 + ret = xen_init(ms, s);
3489 if (ret < 0) {
3490 return ret;
3491 }
3481 -#else
3482 - error_report("kvm: Xen support not enabled in qemu");
3483 - return -ENOTSUP;
3484 -#endif
3492 }
3493
3494 ret = kvm_get_supported_msrs(s);