vmcommon.sh (1142B)
1 #!/bin/sh 2 3 ARCH="${ARCH:-aarch64}" 4 5 case $ARCH in 6 x86_64) 7 MACHINE="q35" 8 QEMU_EFI_CODE="/usr/share/qemu/edk2-x86_64-code.fd" 9 QEMU_EFI_VARS="/usr/share/qemu/edk2-i386-vars.fd" 10 ;; 11 12 aarch64) 13 MACHINE="virt" 14 QEMU_EFI_CODE="/usr/share/qemu/edk2-aarch64-code.fd" 15 ;; 16 17 *) 18 echo "Unknown architecture, must be one of: aarch64 x86_64" 19 exit 1 20 ;; 21 esac 22 23 DISK="$(dirname $0)/vmroot-$ARCH.xfs.img" 24 25 EFI_CODE="$(dirname $0)/efi-$ARCH-code.fd" 26 EFI_VARS="$(dirname $0)/efi-$ARCH-vars.fd" 27 28 NUMA="${NUMA:-2}" 29 NUMA_CORES="4" 30 NUMA_MEMGB="4" 31 32 NUMA_TOTAL_CORES="$(( $NUMA * $NUMA_CORES ))" 33 NUMA_TOTAL_MEMGB="$(( $NUMA * $NUMA_MEMGB ))" 34 35 NUMA_TASKSET="taskset -c 0-$(( $NUMA_TOTAL_CORES - 1 ))" 36 37 NUMA_FLAGS="" 38 39 for i in $(seq 0 $(( $NUMA - 1 ))); do 40 min_cpu="$(( $i * $NUMA_CORES ))" 41 max_cpu="$(( (($i + 1) * $NUMA_CORES) - 1 ))" 42 43 NUMA_FLAGS="$NUMA_FLAGS -object memory-backend-ram,id=mem$i,size=${NUMA_MEMGB}G,host-nodes=0,policy=bind" 44 NUMA_FLAGS="$NUMA_FLAGS -numa node,memdev=mem$i,cpus=$min_cpu-$max_cpu,nodeid=$i" 45 done 46 47 NUMA_FLAGS="-smp cpus=$NUMA_TOTAL_CORES,sockets=$NUMA,maxcpus=$NUMA_TOTAL_CORES" 48 NUMA_FLAGS="-m ${NUMA_TOTAL_MEMGB}G"