]> git.ipfire.org Git - thirdparty/mkosi.git/commitdiff
Use KVM when running an x86 image on x86_64
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Wed, 13 Mar 2024 14:34:36 +0000 (15:34 +0100)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Wed, 13 Mar 2024 16:07:31 +0000 (17:07 +0100)
mkosi/config.py
mkosi/qemu.py

index ee8fda78a526be64e34e079fbb86bb230610efe6..fe4d233320fc2ef4e2b63955275f4f796a9991ea 100644 (file)
@@ -396,6 +396,12 @@ class Architecture(StrEnum):
     def supports_smm(self) -> bool:
         return self.is_x86_variant()
 
+    def can_kvm(self) -> bool:
+        return (
+            self == Architecture.native() or
+            (Architecture.native() == Architecture.x86_64 and self == Architecture.x86)
+        )
+
     def default_qemu_machine(self) -> str:
         m = {
             Architecture.x86      : "q35",
index 7e40946ebe548b359e9c40d49661f0489e32e834..8ab354950b3a1b1c184957700a301d9c827e3ae8 100644 (file)
@@ -620,7 +620,7 @@ def run_qemu(args: Args, config: Config) -> None:
     elif config.runtime_network == Network.none:
         cmdline += ["-nic", "none"]
 
-    if config.qemu_kvm != ConfigFeature.disabled and have_kvm and config.architecture.is_native():
+    if config.qemu_kvm != ConfigFeature.disabled and have_kvm and config.architecture.can_kvm():
         accel = "kvm"
         if qemu_version(config) >= QEMU_KVM_DEVICE_VERSION:
             cmdline += ["--add-fd", f"fd={qemu_device_fds[QemuDeviceNode.kvm]},set=1,opaque=/dev/kvm"]