Page MenuHomeFreeBSD

arm64: Add an initial GICv5 ITS driver
ClosedPublic

Authored by andrew on Dec 16 2025, 12:09 PM.
Tags
None
Referenced Files
F176282979: D54251.id.diff
Sat, Oct 17, 3:46 PM
Unknown Object (File)
Sat, Oct 17, 1:43 AM
Unknown Object (File)
Sat, Oct 17, 12:37 AM
Unknown Object (File)
Sun, Oct 11, 3:19 AM
Unknown Object (File)
Fri, Oct 9, 9:23 PM
Unknown Object (File)
Fri, Oct 9, 4:45 PM
Unknown Object (File)
Fri, Oct 9, 4:44 PM
Unknown Object (File)
Fri, Oct 9, 4:44 PM
Subscribers

Details

Summary

Add a driver to support the GICv5 interrupt translation service (ITS).
The ITS is responsible to handling ITS events & translating them to an
interrupt to be delivered to the interrupt routing service (IRS).

An example event is a MSI or MSI-X is delivered. The ITS will generate
an LPI depending on which device sent the interrupt and the value the
device wrote.

This is a similar concept to the GICv3 ITS, however the implementation
details are different so it needs a new driver.

Sponsored by: Arm Ltd

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

  • Clean up table size/alignment handling
  • Read the table PA range from the register
  • Support 2 level device tables
  • Support a non-coherent ITS
  • Cleanup better on attach failure
  • Implement more functions
This revision was not accepted when it landed; it landed in state Needs Review.Jun 18 2026, 2:58 PM
This revision was automatically updated to reflect the committed changes.