← Blog
KERNEL · 0.6.0

Apple Silicon HAL Batch 18: ISP Camera, AIC2, Metal GPU CmdQ, PCIe Root Complex + PPC Sound, Timebase/DEC, G5 L3 Cache, G5 Hash Page Table

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

sigil-kernel's eighteenth HAL batch adds 8 more seams. Apple: ISP image signal processor (4-frame NV12/RGB888 output ring, AGC gain, exposure, VSync counter, drop on full); AIC2 interrupt controller (256 IRQs, per-IRQ enable/inject/EOI, 8-word pending bitmask, IPI slots); Metal GPU command queue (8-slot CB ring with render/compute/blit types, 8 fence signals, gcmdq_tick_one); PCIe Root Complex (M-series 4-port Gen4, link-train Gen4×4, endpoint plug vid/did/bar0, D0–D3 PM). PowerPC: Screamer/Tumbler sound (256-slot stereo play ring, vol L/R, mute, underrun per slot); PPC timebase + decrement (64-bit TB, 2-CPU DEC regs, dec_tick fires IRQ, EOI, nfire_tot); G5 L3 cache (256-entry 16S×16W 128B-line, round-robin evict, l3_probe/flush); G5 Hash Page Table (1024 PTEGs × 8 PTEs, primary hash insert, lookup hit/miss, TLBIE invalidate). All QEMU PASS. (sigil-kernel edb7c20, ef8ec97, 582d79d, 256b0ce)

sigilOS kernel HAL batch 18
sigilOS kernel HAL batch 18 — all QEMU PASS

apple_isp.sg (edb7c20): M-series Image Signal Processor

The ISP is the dedicated camera processing pipeline — converts raw sensor data to NV12 (YUV 4:2:0 planar, the standard video format) or RGB888. On Apple Silicon, the ISP is a separate coprocessor with a DMA output ring.

Base address 0x4A5000. PASS: ISP init=1 frm=1 drp=1


ppc_sound.sg (edb7c20): G3/G4 Screamer/Tumbler Sound Controller

Screamer (G3 Power Mac) and Tumbler (G4 PowerBook) are the two audio controllers covering the late Power Mac G3 and G4 era. Both use a DMA play ring fed from system memory.

Base address 0x4A6000. PASS: SND init=1 buf=1 und=1


apple_aic.sg (ef8ec97): AIC2 Interrupt Controller

The AIC2 (Apple Interrupt Controller 2) is the primary interrupt controller on Apple Silicon. It manages all hardware interrupt routing to the CPUs.

Base address 0x4A7000. PASS: AIC init=1 irq=1 eoi=1


ppc_dec.sg (ef8ec97): PowerPC Timebase and Decrement Registers

The PowerPC Timebase (TB) and Decrement (DEC) registers are the fundamental timer mechanism on all PowerPC processors. They drive the OS scheduler tick.

Base address 0x4A8000. PASS: DEC init=1 fir=1 eoi=1


apple_gpu_cmdq.sg (582d79d): Metal GPU Command Queue

Metal is Apple's GPU programming model. The HAL seam models the Metal command processor — the GPU-side queue that receives command buffers from the CPU and executes them.

Base address 0x4A9000. PASS: GPU init=1 sub=1 fnc=1


ppc_l3cache.sg (582d79d): Power Mac G5 L3 Cache Controller

The G5 (PowerPC 970) had an external L3 cache (2 MB on the dual-2.0 GHz, 512 KB on the single). The L3 is a write-back, set-associative cache controlled by a dedicated controller.

Base address 0x4AA000. PASS: L3C init=1 hit=1 fls=1


apple_pcie_rc.sg (256b0ce): M-series PCIe Root Complex

The PCIe Root Complex is the top-level PCIe entity — it owns the bus and presents the PCIe tree to the CPU. Apple Silicon's RC supports PCIe 4.0 (Gen4).

Base address 0x4AB000. PASS: PCI init=1 lnk=1 pm=1


ppc_htab.sg (256b0ce): G5 Hash Page Table

The PowerPC 970 (G5) uses a hardware-managed hash page table (HTAB) for virtual memory translation. Unlike x86 page tables (software-walked), the PPC HTAB is walked by hardware.

Base address 0x4AC000. PASS: HTA init=1 ins=1 tlb=1


Batch 18 seam table (0x4A5000–0x4AC000)

Address Seam Platform Commit Status
0x4A5000apple_isp.sgApple Siliconedb7c20PASS
0x4A6000ppc_sound.sgPowerPC G3/G4edb7c20PASS
0x4A7000apple_aic.sgApple Siliconef8ec97PASS
0x4A8000ppc_dec.sgPowerPC G3/G4/G5ef8ec97PASS
0x4A9000apple_gpu_cmdq.sgApple Silicon582d79dPASS
0x4AA000ppc_l3cache.sgPowerPC G5582d79dPASS
0x4AB000apple_pcie_rc.sgApple Silicon256b0cePASS
0x4AC000ppc_htab.sgPowerPC G5256b0cePASS

Batch 18 brings the total HAL seam count to approximately 134 — spanning Apple Silicon (M1/M2/M3), PowerPC G3/G4/G5, x86/x86_64, ARM Cortex-A, and RISC-V platforms.