Page MenuHomeFreeBSD

arm64: Add an initial GICv5 ITS driver
ClosedPublic

Authored by andrew on Dec 16 2025, 12:09 PM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Aug 14, 8:02 AM
Unknown Object (File)
Thu, Aug 13, 12:31 AM
Unknown Object (File)
Wed, Aug 12, 7:25 PM
Unknown Object (File)
Mon, Aug 10, 10:59 AM
Unknown Object (File)
Mon, Aug 10, 8:50 AM
Unknown Object (File)
Sun, Aug 9, 3:22 AM
Unknown Object (File)
Sat, Aug 8, 5:00 PM
Unknown Object (File)
Sat, Aug 8, 4:54 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.