← Blog
KERNEL · 0.6.0

Apple Silicon HAL Batch 12: Watch Bridge, Continuity Handoff, AirPlay 2, Biometric, Panic Reporter + PPC NuBus/SCSI/ATA/SONIC/AltiVec

June 22, 2026 · sigil-kernel · Sigil-Docs
kernel hal apple-silicon powerpc hardware 0.6.0

sigil-kernel's twelfth HAL batch adds 10 more seams — Apple: Watch bridge SiP (S-series pairing/auto-unlock/health relay/notifications), Continuity Handoff (4-device registry, Universal Clipboard, AirDrop, call relay), AirPlay 2 receiver (mirror/audio/video streams, HEVC, 8-frame ring, 1080p60), biometric HAL (Touch ID/Face ID, SEP-injected match, liveness, 5-attempt lockout, EL1-only), kernel panic reporter (panic code/PC/reason, 8-entry crash ring, WDT heartbeat). PowerPC: NuBus 6-slot (DeclROM, ATI Rage II + 3Com), SCSI NCR 53C96 (select/xfr/byte counter), UltraATA (LBA READ/WRITE/IDENTIFY, 2-drive), SONIC dp83932 Ethernet (CAM/TX/RX/ISR), AltiVec SIMD (4 VRs × 4×32-bit, vspltw/vaddfp/vmaxsw/vsumsws). All QEMU PASS. (sigil-kernel d142bc617d1921)

Apple Silicon HAL QEMU batch verification
Apple Silicon HAL QEMU batch verification — all 10 seams PASS

Apple seams

apple_watchbridge.sg (d142bc6)

S-series Apple Watch bridge SiP. The Watch communicates with the host SoC via a dedicated low-power radio SiP that exposes health sensors, pairing state, and notification delivery over a structured register interface at 0x470000.

PASS: AWB init=1 lck=1 hlt=1

apple_handoff.sg (038551c)

Continuity Handoff — the cross-device activity relay layer. Exposes a 4-device registry and structured transfer channels at 0x472000.

PASS: HO init=1 cls=1 adr=1

apple_airplay.sg (bd256d1)

AirPlay 2 receiver — acts as a sink for mirror, audio, and video streams from any AirPlay 2 source. Register base 0x474000.

PASS: AP init=1 mir=1 frm=1

apple_biometric.sg (cc30300)

Touch ID / Face ID HAL. All match logic stays in the Secure Enclave Processor (SEP); the kernel only reads the injected result. Register base 0x476000.

PASS: BIO init=1 scn=1 lck=1

apple_panic.sg (17d1921)

Kernel panic reporter — captures fault state before the system halts, and drives the WDT heartbeat to detect hung kernels. Register base 0x478000.

PASS: PAN init=1 trg=1 wdt=1

Pairing with lcars_panic_screen: When apple_panic triggers, the kernel calls lcars_panic_screen (sigil-video, see separate post) to display the gold FAULT screen over the GOP framebuffer — the same path used for x86 real-hardware debugging under sigil-os#18.


PowerPC seams

ppc_nubus.sg (d142bc6)

G3 NuBus 6-slot expansion bus — the pre-PCI expansion architecture used in early Power Macs. Register base 0x471000.

PASS: NB init=1 pop=1 cat=1

ppc_scsi.sg (038551c)

G3 NCR 53C96 SCSI controller — the primary storage interface on pre-IDE Power Macs. Register base 0x473000.

PASS: SCSI init=1 sel=1 xfr=1

ppc_ide.sg (bd256d1)

G3 UltraATA/IDE controller — the ATA-4 compliant interface for hard drives and optical drives on later G3/G4 Power Macs. Register base 0x475000.

PASS: IDE init=1 sel=1 cmd=1

ppc_sonic.sg (cc30300)

G3 dp83932 SONIC Ethernet controller — the National Semiconductor SONIC chip used in pre-PCI Power Macs for 10Mbps Ethernet. Register base 0x477000.

PASS: SONIC init=1 run=1 tx=1

ppc_altivec.sg (17d1921)

G4/G5 VMX/AltiVec SIMD unit — the 128-bit vector extension introduced with the G4 (MPC7400) and carried forward to the G5 (PPC970). Register base 0x479000.

PASS: AV init=1 vsp=1 sum=1


Seam address table — Batch 12

AddressSeamCommitResult
0x470000apple_watchbridge.sg — Watch bridge SiPd142bc6AWB init=1 lck=1 hlt=1
0x471000ppc_nubus.sg — G3 NuBus 6-slotd142bc6NB init=1 pop=1 cat=1
0x472000apple_handoff.sg — Continuity Handoff038551cHO init=1 cls=1 adr=1
0x473000ppc_scsi.sg — NCR 53C96 SCSI038551cSCSI init=1 sel=1 xfr=1
0x474000apple_airplay.sg — AirPlay 2 receiverbd256d1AP init=1 mir=1 frm=1
0x475000ppc_ide.sg — UltraATA/IDEbd256d1IDE init=1 sel=1 cmd=1
0x476000apple_biometric.sg — Touch ID / Face IDcc30300BIO init=1 scn=1 lck=1
0x477000ppc_sonic.sg — dp83932 SONIC Ethernetcc30300SONIC init=1 run=1 tx=1
0x478000apple_panic.sg — kernel panic reporter17d1921PAN init=1 trg=1 wdt=1
0x479000ppc_altivec.sg — G4/G5 AltiVec SIMD17d1921AV init=1 vsp=1 sum=1