diff options
-rwxr-xr-x | debvm-run | 13 |
1 files changed, 10 insertions, 3 deletions
@@ -100,6 +100,7 @@ set -- \ -device "virtio-net-pci,netdev=net0" \ "$@" +MAX_SMP= if test "$ARCHITECTURE" = "$VMARCH"; then QEMU=kvm # While kvm will fall back gracefully, the following options can only @@ -116,28 +117,34 @@ else case "$VMARCH" in arm64) QEMU=qemu-system-aarch64 - set -- -machine virt -cpu max -smp "$(nproc)" "$@" + set -- -machine virt -cpu max "$@" ;; arm|armel|armhf) QEMU=qemu-system-arm - set -- -machine virt -cpu max -smp "$(nproc)" "$@" + set -- -machine virt -cpu max "$@" ;; ppc64el) QEMU=qemu-system-ppc64 ;; mips64el) QEMU="qemu-system-$VMARCH" + MAX_SMP=1 set -- -cpu 5KEc "$@" ;; mipsel) QEMU="qemu-system-$VMARCH" + MAX_SMP=1 ;; *) QEMU="qemu-system-$VMARCH" - set -- -smp "$(nproc)" "$@" ;; esac fi +if test "$MAX_SMP" -gt 1; then + NPROC=$(nproc) + test "$NPROC" -gt "$MAX_SMP" && NPROC=$MAX_SMP + set -- -smp "$NPROC" "$@" +fi if test -z "$GRAPHICAL"; then set -- -nographic "$@" |