[gnome-boxes/use-host-model-cpu-mode-for-qemu-emulation] vm-configurator: Use host-model cpu mode when using QEMU emulation
- From: Felipe Borges <felipeborges src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-boxes/use-host-model-cpu-mode-for-qemu-emulation] vm-configurator: Use host-model cpu mode when using QEMU emulation
- Date: Mon, 16 May 2022 14:21:57 +0000 (UTC)
commit 97d0aaa7ac461f4630e3319d2a225e87f22a6869
Author: Felipe Borges <felipeborges gnome org>
Date: Mon May 16 16:17:42 2022 +0200
vm-configurator: Use host-model cpu mode when using QEMU emulation
When native virtualization isn't available we use qemu emulation,
which doesn't work with the host-passthrough CPU mode.
Without this, Boxes can't create VMs for hosts that don't support
KVM based virtualization.
src/vm-configurator.vala | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
---
diff --git a/src/vm-configurator.vala b/src/vm-configurator.vala
index 6d817df7..8e9f83f4 100644
--- a/src/vm-configurator.vala
+++ b/src/vm-configurator.vala
@@ -54,9 +54,10 @@ public static Domain create_domain_config (InstallerMedia install_media, string
var best_caps = get_best_guest_caps (caps, install_media);
domain.memory = install_media.resources.ram / KIBIBYTES;
- set_cpu_config (domain, caps);
var virt_type = guest_kvm_enabled (best_caps) ? DomainVirtType.KVM : DomainVirtType.QEMU;
+ set_cpu_config (domain, caps, virt_type);
+
domain.set_virt_type (virt_type);
set_os_config (domain, install_media, best_caps, domain_caps);
@@ -223,7 +224,7 @@ private static void mark_as_installed (Domain domain, InstallerMedia? install_me
update_custom_xml (domain, install_media, 0, true);
}
- private static void set_cpu_config (Domain domain, Capabilities caps) {
+ private static void set_cpu_config (Domain domain, Capabilities caps, DomainVirtType virt_type =
DomainVirtType.KVM) {
var cpu_caps = caps.get_host ().get_cpu ();
var topology = cpu_caps.get_topology ();
@@ -233,7 +234,7 @@ private static void set_cpu_config (Domain domain, Capabilities caps) {
domain.vcpu = topology.get_sockets () * topology.get_cores () * topology.get_threads ();
var cpu = new DomainCpu ();
- cpu.set_mode (DomainCpuMode.HOST_PASSTHROUGH);
+ cpu.set_mode (virt_type == DomainVirtType.QEMU ? DomainCpuMode.HOST_MODEL :
DomainCpuMode.HOST_PASSTHROUGH);
cpu.set_topology (topology);
domain.set_cpu (cpu);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]