> 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

Reply via email to