> On 8. Oct 2025, at 22:00, Alexander Graf <[email protected]> wrote: > > > >> Am 08.10.2025 um 13:36 schrieb Mohamed Mediouni <[email protected]>: >> >> >> >>> On 7. Oct 2025, at 23:12, Alexander Graf <[email protected]> wrote: >>> >>> >>>> On 07.10.25 22:31, Mohamed Mediouni wrote: >>>> Apple M4 removes FEAT_SSBS. However, older macOS releases >>>> do misbehave in such a configuration and do not boot. >>>> >>>> Use private API to trap SCTLR_EL1 accesses through FGT. >>>> >>>> Signed-off-by: Mohamed Mediouni <[email protected]> >>> >>> >>> These old macOS versions did not include M4 support, correct? So wouldn't >>> it make more sense to make more recent macOS work instead? >>> >>> Alex >>> >> Apple ships such a workaround in Virtualization.framework to allow older >> macOS VMs to work > > Fair, but we don't have to implement the same hacks :). I think from a user's > point of view, running macOS 26 is more important than 12 :) > > Alex
There are at least two mean things that newer macOS releases do on vmapples, but I’m pretty sure I’m missing some more: - an HVC #0 with x0 set to 0xc1000000 - this is not trapped all the way to the VMM but handled by the virtualisation stack. The value returned is zero if the VM is running with a private ISA level. The guest then checks it straight away and goes in an infinite loop if the value isn’t 0. Fine, let’s run with private ISA and see what happens, well... - An access to the GIC memory ranges that doesn’t meet ISV requirements - using pre-indexing with SP as the base register. That said I got pretty far with handling those two but I’m not sure that any of this is upstreamable really… -Mohamed
