Catalina Haswell MacOS variant (#1119)

* urgent fix for sonoma and #1114

(cherry picked from commit 960c34eca9)

* improved macos fix

Should also work on AMD RYZEN  but please re-test

Same lines as already Ryzen tested  but  further testing on older ryzen and notebooks would be a good idea

improves on #1116

hopefull solves any other issues from #1114

(cherry picked from commit e4b876c2ef)

* MacOs update variant using more Haswell

See #1117
This commit is contained in:
Alex Genovese 2024-05-02 12:23:13 +02:00 committed by GitHub
parent b61dd9336b
commit 9a09badfe5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 22 additions and 7 deletions

View File

@ -523,23 +523,38 @@ function vm_boot() {
esac
;;
macos)
#https://www.nicksherlock.com/2020/06/installing-macos-big-sur-on-proxmox/
# https://www.nicksherlock.com/2020/04/installing-macos-catalina-on-proxmox-with-opencore/
# https://www.nicksherlock.com/2022/10/installing-macos-13-ventura-on-proxmox/
# Penryn https://github.com/search?q=repo%3Akholia%2FOSX-KVM%20%20GenuineIntel&type=code
# https://en.wikipedia.org/wiki/MacOS_version_history#Releases
# quickget current list: high-sierra mojave catalina big-sur monterey ventura sonoma
# A CPU with SSE4.1 support is required for >= macOS Sierra
# A CPU with SSE4.2 support is required for >= macOS Catalina
# A CPU with AVX2 support is required for >= macOS Ventura
case ${macos_release} in
ventura|sonoma)
if check_cpu_flag sse4_1 && check_cpu_flag avx2; then
CPU="-cpu Broadwell-noTSX-IBRS,kvm=on,vendor=GenuineIntel,+sse,+sse4.1,+avx,+avx2,+hypervisor,+popcnt,+aes,+xsave,+xsavec,+xsaveopt,+xgetbv1,+bmi1,+bmi2,+smep,+fma,+movbe,+invtsc"
if check_cpu_flag sse4_2 && check_cpu_flag avx2; then
# noTSX stops cpuid errors https://duckduckgo.com/?t=ffab&q=CPUID.07H%3AEBX.rtm+%5Bbit+11%5D&ia=web also cited by NickSherlock for Ventura install
CPU="-cpu Haswell-noTSX-IBRS,kvm=on,vendor=GenuineIntel,+sse3,+sse4.2,+aes,+xsave,+avx,+xsaveopt,+xsavec,+xgetbv1,+avx2,+bmi2,+smep,+bmi1,+fma,+movbe,+invtsc"
else
echo "ERROR! macOS ${macos_release} requires a CPU with SSE 4.1 and AVX2 support."
echo "ERROR! macOS ${macos_release} requires a CPU with SSE 4.2 and AVX2 support."
exit 1
fi
;;
catalina|big-sur|monterey)
if check_cpu_flag sse4_2; then
# Used in past versions: +movbe,+smep,+xgetbv1,+xsavec,+avx2
# Warn on AMD: +fma4,+pcid
CPU="-cpu Haswell-noTSX-IBRS,kvm=on,vendor=GenuineIntel,+sse3,+sse4.2,+aes,+xsave,+avx,+xsaveopt,+xsavec,+xgetbv1,+bmi2,+smep,+bmi1,+fma,+movbe,+invtsc"
else
echo "ERROR! macOS ${macos_release} requires a CPU with SSE 4.2 support."
exit 1
fi
;;
*)
if check_cpu_flag sse4_1; then
# Used in past versions: +movbe,+smep,+xgetbv1,+xsavec,+avx2
# Warn on AMD: +fma4,+pcid
CPU="-cpu Penryn,kvm=on,vendor=GenuineIntel,+aes,+avx,+bmi1,+bmi2,+fma,+hypervisor,+invtsc,+kvm_pv_eoi,+kvm_pv_unhalt,+popcnt,+ssse3,+sse4.2,vmware-cpuid-freq=on,+xsave,+xsaveopt,check"
# as above but 4.1 (for older hosts)
CPU="-cpu Penryn,kvm=on,vendor=GenuineIntel,+aes,+avx,+bmi1,+bmi2,+fma,+hypervisor,+invtsc,+kvm_pv_eoi,+kvm_pv_unhalt,+popcnt,+ssse3,+sse4.1,vmware-cpuid-freq=on,+xsave,+xsaveopt,check"
else
echo "ERROR! macOS ${macos_release} requires a CPU with SSE 4.1 support."
exit 1