Browse Source

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>
master
Ani Sinha 5 months ago
committed by Paolo Bonzini
parent
commit
1842537960
  1. 31
      target/i386/kvm/kvm.c

31
target/i386/kvm/kvm.c

@ -3433,6 +3433,24 @@ bool kvm_arch_supports_vmfd_change(void)
return true;
}
static int xen_init(MachineState *ms, KVMState *s)
{
#ifdef CONFIG_XEN_EMU
int ret = 0;
if (!object_dynamic_cast(OBJECT(ms), TYPE_PC_MACHINE)) {
error_report("kvm: Xen support only available in PC machine");
return -ENOTSUP;
}
/* hyperv_enabled() doesn't work yet. */
uint32_t msr = XEN_HYPERCALL_MSR;
ret = kvm_xen_init(s, msr);
return ret;
#else
error_report("kvm: Xen support not enabled in qemu");
return -ENOTSUP;
#endif
}
int kvm_arch_init(MachineState *ms, KVMState *s)
{
int ret;
@ -3467,21 +3485,10 @@ int kvm_arch_init(MachineState *ms, KVMState *s)
}
if (s->xen_version) {
#ifdef CONFIG_XEN_EMU
if (!object_dynamic_cast(OBJECT(ms), TYPE_PC_MACHINE)) {
error_report("kvm: Xen support only available in PC machine");
return -ENOTSUP;
}
/* hyperv_enabled() doesn't work yet. */
uint32_t msr = XEN_HYPERCALL_MSR;
ret = kvm_xen_init(s, msr);
ret = xen_init(ms, s);
if (ret < 0) {
return ret;
}
#else
error_report("kvm: Xen support not enabled in qemu");
return -ENOTSUP;
#endif
}
ret = kvm_get_supported_msrs(s);

Loading…
Cancel
Save