From 3cfbfb1a30187c9b698728da3c36c0efa5d73a97 Mon Sep 17 00:00:00 2001 From: Martin Wimpress Date: Sat, 24 Jan 2026 02:28:01 +0000 Subject: [PATCH] fix(quickemu): improve TSC flag detection for macOS on AMD CPUs --- quickemu | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/quickemu b/quickemu index fcf71fe..d23eda0 100755 --- a/quickemu +++ b/quickemu @@ -296,6 +296,12 @@ function check_cpu_flag() { if lscpu | grep -o "^Flags\b.*: .*\b${HOST_CPU_FLAG}\b" > /dev/null; then return 0 else + # AMD CPUs report invtsc as constant_tsc; check for equivalence + if [ "${HOST_CPU_FLAG}" == "invtsc" ] && [ "${HOST_CPU_VENDOR}" == "AuthenticAMD" ]; then + if lscpu | grep -o "^Flags\b.*: .*\bconstant_tsc\b" > /dev/null; then + return 0 + fi + fi return 1 fi fi @@ -465,6 +471,11 @@ function configure_cpu() { x2apic xgetbv1 xsave xsaveopt; do CPU+=$(configure_cpu_flag "${FLAG}") done + # AMD CPUs with constant_tsc need explicit TSC flags for macOS stability + # constant_tsc is AMD's equivalent of Intel's invtsc + if [ "${HOST_CPU_VENDOR}" == "AuthenticAMD" ] && check_cpu_flag invtsc; then + CPU+=",+tsc,+tsc-deadline,+invtsc" + fi fi # Disable S3 support in the VM to prevent macOS suspending during install