forked from rpms/qemu-kvm
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1.1 KiB
50 lines
1.1 KiB
2 years ago
|
#! /bin/bash
|
||
|
|
||
|
kvm_setup_powerpc () {
|
||
|
if grep '^platform[[:space:]]*:[[:space:]]*PowerNV' /proc/cpuinfo > /dev/null; then
|
||
|
# PowerNV platform, which is KVM HV capable
|
||
|
|
||
|
if [ -z "$SUBCORES" ]; then
|
||
|
SUBCORES=1
|
||
|
fi
|
||
|
|
||
|
# Step 1. Load the KVM HVmodule
|
||
|
if ! modprobe -b kvm_hv; then
|
||
|
return
|
||
|
fi
|
||
|
|
||
|
# On POWER8 a host core can only run threads of a single
|
||
|
# guest, meaning that SMT must be disabled on the host in
|
||
|
# order to run KVM guests. (Also applieds to POWER7, but we
|
||
|
# don't support that).
|
||
|
#
|
||
|
# POWER9 doesn't have this limitation (though it will for hash
|
||
|
# guests on radix host when that's implemented). So, only set
|
||
|
# up subcores and disable SMT for POWER*.
|
||
|
if grep '^cpu[[:space:]]*:[[:space:]]*POWER8' /proc/cpuinfo > /dev/null; then
|
||
|
# Step 2. Configure subcore mode
|
||
|
/usr/sbin/ppc64_cpu --subcores-per-core=$SUBCORES
|
||
|
|
||
|
# Step 3. Disable SMT (multithreading)
|
||
|
/usr/sbin/ppc64_cpu --smt=off
|
||
|
fi
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
kvm_setup_s390x () {
|
||
|
if grep -q "^features.*sie" /proc/cpuinfo; then
|
||
|
modprobe kvm
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
case $(uname -m) in
|
||
|
ppc64|ppc64le)
|
||
|
kvm_setup_powerpc
|
||
|
;;
|
||
|
s390x)
|
||
|
kvm_setup_s390x
|
||
|
;;
|
||
|
esac
|
||
|
|
||
|
exit 0
|