# INTC Contract Status: `Draft` ## Purpose Define interrupt-controller ownership explicitly so interrupt routing, masking, and acknowledgement do not become scattered across unrelated subsystem contracts. ## Owns - EE interrupt controller register-visible behavior, - interrupt status accumulation, - interrupt mask behavior, - presentation of interrupt state to the EE, - acknowledgement / clear semantics visible through the INTC register block. ## Inputs - interrupt sources from EE-side timers, - DMAC interrupt sources, - GIF/GS-visible interrupt sources where applicable, - IPU-visible interrupt sources where applicable, - any additional EE-side sources that target `INTC_STAT`. ## Outputs - interrupt-pending state to the EE core, - register-visible status/mask values, - trace events for assertion, masking, and clearing. ## Questions to lock - Which interrupt sources are required for the first BIOS-progress milestone? - Which sources may be stubbed as permanently inactive in Phase 1? - How will interrupt timing be modeled in early bring-up: - functionally-correct first - cycle-shaped from day one ## Allowed early stubs - register-visible INTC with a reduced source set, - synthetic interrupt injection for directed tests, - simplified assertion timing so long as ordering is deterministic. ## Required debug visibility - source assertion, - source masking, - pending-to-serviced transitions, - EE acknowledge/clear events, - dropped or unimplemented interrupt attempts.