From 2ef53b20ce5456e5112347b9c0faafb432701540 Mon Sep 17 00:00:00 2001 From: Andrea Manzini Date: Thu, 25 Sep 2025 16:44:12 +0200 Subject: [PATCH] optimize qemu params on x86_64 --- source/aarch64.d | 5 ++--- source/ppc64le.d | 2 +- source/x86_64.d | 4 ++-- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/source/aarch64.d b/source/aarch64.d index f981c6f..bf6e42f 100644 --- a/source/aarch64.d +++ b/source/aarch64.d @@ -23,8 +23,7 @@ class AARCH64_VM : VirtualMachine return [ "-machine", "virt", "-cpu", "max", - "-bios", "/usr/share/qemu/aavmf-aarch64-code.bin" - + "-bios", "/usr/share/qemu/aavmf-aarch64-code.bin", ]; } @@ -33,7 +32,7 @@ class AARCH64_VM : VirtualMachine { return [ "-drive", - format("file=%s,if=virtio,cache=none,aio=native,discard=unmap", diskPath) + format("file=%s,if=virtio,cache=writeback,aio=native,discard=unmap,cache.direct=on", diskPath) ]; } diff --git a/source/ppc64le.d b/source/ppc64le.d index 8cce2ac..35a65a9 100644 --- a/source/ppc64le.d +++ b/source/ppc64le.d @@ -25,7 +25,7 @@ class PPC64LE_VM : VirtualMachine { return [ "-drive", - format("file=%s,if=virtio,cache=none,aio=native,discard=unmap", diskPath) + format("file=%s,if=virtio,cache=writeback,aio=native,discard=unmap,cache.direct=on", diskPath) ]; } diff --git a/source/x86_64.d b/source/x86_64.d index a52993f..1520620 100644 --- a/source/x86_64.d +++ b/source/x86_64.d @@ -17,7 +17,7 @@ class X86_64_VM : VirtualMachine /// Returns an array of architecture-specific QEMU arguments. override string[] getArchArgs() { - return ["-M", "q35"]; + return ["-M", "q35", "-enable-kvm", "-cpu", "host"]; } /// Returns an array of QEMU arguments for graphical output. @@ -31,7 +31,7 @@ class X86_64_VM : VirtualMachine { return [ "-drive", - format("file=%s,if=virtio,cache=none,aio=native,discard=unmap", diskPath) + format("file=%s,if=virtio,cache=writeback,aio=native,discard=unmap,cache.direct=on", diskPath) ]; }