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);