Skip to content

proxyclient/run_guest: add --disable-node - #13

Open
hishamMounir wants to merge 1 commit into
GravityLinux:mainfrom
hishamMounir:j704/hv-t8142-timers
Open

hishamMounir wants to merge 1 commit into
GravityLinux:mainfrom
hishamMounir:j704/hv-t8142-timers

Conversation

@hishamMounir

@hishamMounir hishamMounir commented Oct 30, 2026 •

Copy link
Copy Markdown

Rebased onto main now that the HV series is merged, and trimmed to the one
patch you said you'd take. The VM_TMR_FIQ_ENA_EL2 timer-masking patch is
dropped. Understood that you'll wait for Apple to unlock that register.

proxyclient/run_guest: add --disable-node

Deleting an ADT node to keep a guest off a device is not always possible: SPTM
reads /arm-io/ans.reg and nvme-queue-entries itself and panics before XNU
runs if the node is gone. This prefixes the node's compatible with disabled,
instead, leaving the properties in place while keeping the guest's drivers off
it. That is how I keep a macOS guest off the internal SSD.

Testing

Used with this tree's SPTM emulator on J704 (M5, Mac17,2) with a 27.2 guest:
--disable-node /arm-io/ans, single-user mode, full CPU topology. The proxy
runs and all secondaries start. On the rebased branch, run_guest.py
byte-compiles and a full m1n1.bin builds and links.

Clean room: no Apple binary was disassembled for this.

🤖 Generated with Claude Code

@ADevWithAnIdea

Copy link
Copy Markdown
Member

Yo whats up Hisham, thanks for the PR!

I'm not going to merge the SYS_APL_VM_TMR_FIQ_ENA_EL2 patch since we're not going to support any macOS version with that register locked, we're just going to wait for Apple to unlock it for us. The disable node patch looks good! Just rebase the patchset (I merged the HV patches) and I can merge!

Deleting an ADT node to keep a guest away from a device is not always an
option: SPTM reads /arm-io/ans.reg and nvme-queue-entries itself and panics
before XNU runs if the node is gone. Prefix the node's compatible with
"disabled," instead, which leaves the properties in place while keeping the
guest's drivers off it.

Assisted-By: LLM
Signed-off-by: Hisham Alkhudrawi <hisham.ma.mohammed@gmail.com>
@hishamMounir
hishamMounir changed the base branch from PR_sptm_hv to main November 4, 2026 17:18
@hishamMounir hishamMounir changed the title hv: T8142 (M5) guest timer masking, and run_guest --disable-node proxyclient/run_guest: add --disable-node Nov 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants