vmtools

vmtools.git
git clone git://git.lenczewski.org/vmtools.git
Log | Files | Refs

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"