Skip to content

RyzenHV 0.7.4: SVM on CPU cores that come online late (issue 1)

Choose a tag to compare

@OverlordDev OverlordDev released this 30 Oct 13:31
· 13 commits to main since this release

0.7.4: SVM on CPU cores that come online after the kext starts (issue 1)

On macOS 26 the kext was started when only one core was online (cpus=1 in the log of a Ryzen 9 5900X), so SVM was switched on for that core alone, and a VM thread that ran on any other core stopped with VmRun: SVM cannot be used on cpu N. The kext now looks for cores again: svm::rescan() probes the ones it has not seen, gives them a host save area and turns SVM on. It runs when a VM or a vCPU is created, and once in VmRun if the core it runs on was never seen. The log line rescan: the rendezvous reached N CPUs says whether the late cores answer.

Tested on a Ryzen 7 5800H, macOS 15.8.1, with rhv-info hv svmlimit 1 (new, debugging: makes the SVM code forget cores 1 and up, the state from the issue) and rhv-info hv rescan: rescan brings back 15 cores, selftest 16 of 16; hvf-smoke passes from that state; Docker Desktop hello-world; Parallels Windows 10 cold boot in 21 s with the keyboard working; a VirtualBox 7.2.22 VM boots; and svmlimit 1 while the Parallels VM runs: VmRun rescans and the guest keeps going. Not tested on Tahoe itself: whether the late cores answer there is what the log line will show.

Install: unpack, ./rhv kext --native, reboot, ./rhv doctor, ./rhv autostart install, then ./rhv parallels native. Keep a working EFI without the kext.