mirror of
https://github.com/luchina-gabriel/OSX-PROXMOX.git
synced 2026-09-25 20:47:01 +00:00
Improvements for creating VMs in some Intel systems
This commit is contained in:
@@ -335,6 +335,22 @@ detect_cpu_platform() {
|
|||||||
lscpu | grep -qi "Vendor ID.*AMD" && echo "AMD" || echo "INTEL"
|
lscpu | grep -qi "Vendor ID.*AMD" && echo "AMD" || echo "INTEL"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Function to detect the Intel microarchitecture (CPUID family/model)
|
||||||
|
detect_intel_uarch() {
|
||||||
|
local family model
|
||||||
|
family=$(awk -F': ' '/^cpu family/ {print $2; exit}' /proc/cpuinfo)
|
||||||
|
model=$(awk -F': ' '/^model[[:space:]]*:/ {print $2; exit}' /proc/cpuinfo)
|
||||||
|
if [[ "$family" == "6" ]]; then
|
||||||
|
case "$model" in
|
||||||
|
63) echo "HASWELL_HEDT" ;; # Xeon E5 v3 / Core i7 HEDT (Haswell-E/EP)
|
||||||
|
79|86) echo "BROADWELL_HEDT" ;; # Xeon E5 v4 / Core i7 HEDT (Broadwell-E/EP), Xeon D (Broadwell-DE)
|
||||||
|
*) echo "GENERIC" ;;
|
||||||
|
esac
|
||||||
|
else
|
||||||
|
echo "GENERIC"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
# Function to setup prerequisites
|
# Function to setup prerequisites
|
||||||
setup_prerequisites() {
|
setup_prerequisites() {
|
||||||
local logfile="${LOGDIR}/prerequisites-setup.log"
|
local logfile="${LOGDIR}/prerequisites-setup.log"
|
||||||
@@ -421,7 +437,17 @@ create_vm() {
|
|||||||
cpu_args="-cpu Penryn,kvm=on,vendor=GenuineIntel,+kvm_pv_unhalt,+kvm_pv_eoi,+hypervisor,+invtsc,+ssse3,+sse4.2,+popcnt,+avx,+avx2,+aes,+fma,+bmi1,+bmi2,+xsave,+xsaveopt,check"
|
cpu_args="-cpu Penryn,kvm=on,vendor=GenuineIntel,+kvm_pv_unhalt,+kvm_pv_eoi,+hypervisor,+invtsc,+ssse3,+sse4.2,+popcnt,+avx,+avx2,+aes,+fma,+bmi1,+bmi2,+xsave,+xsaveopt,check"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
cpu_args="-cpu Skylake-Client-v4,kvm=on,vendor=GenuineIntel,+kvm_pv_unhalt,+kvm_pv_eoi,+hypervisor,+invtsc,+vmx,vmware-cpuid-freq=on"
|
case "$OSX_INTEL_UARCH" in
|
||||||
|
HASWELL_HEDT)
|
||||||
|
cpu_args="-cpu Haswell-noTSX,model=158,kvm=on,vendor=GenuineIntel,+kvm_pv_unhalt,+kvm_pv_eoi,+hypervisor,+invtsc,+vmx,vmware-cpuid-freq=on"
|
||||||
|
;;
|
||||||
|
BROADWELL_HEDT)
|
||||||
|
cpu_args="-cpu Broadwell-noTSX,model=158,kvm=on,vendor=GenuineIntel,+kvm_pv_unhalt,+kvm_pv_eoi,+hypervisor,+invtsc,+vmx,vmware-cpuid-freq=on"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
cpu_args="-cpu Skylake-Client-v4,kvm=on,vendor=GenuineIntel,+kvm_pv_unhalt,+kvm_pv_eoi,+hypervisor,+invtsc,+vmx,vmware-cpuid-freq=on"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Check QEMU version and append hotplug fix if 6.1 or newer
|
# Check QEMU version and append hotplug fix if 6.1 or newer
|
||||||
@@ -1481,5 +1507,6 @@ if [ ! -f "${ISODIR}/${OPENCORE_ISO}" ]; then
|
|||||||
update_opencore_iso "0"
|
update_opencore_iso "0"
|
||||||
fi
|
fi
|
||||||
OSX_PLATFORM=$(detect_cpu_platform)
|
OSX_PLATFORM=$(detect_cpu_platform)
|
||||||
|
OSX_INTEL_UARCH=$(detect_intel_uarch)
|
||||||
[[ ! -e /etc/pve/qemu-server/.osx-proxmox ]] && setup_prerequisites
|
[[ ! -e /etc/pve/qemu-server/.osx-proxmox ]] && setup_prerequisites
|
||||||
main_menu
|
main_menu
|
||||||
|
|||||||
Reference in New Issue
Block a user