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)
Mon, Jul 20, 11:17 AM
Unknown Object (File)
Wed, Jul 15, 6:59 AM
Unknown Object (File)
Wed, Jul 15, 6:59 AM
Unknown Object (File)
Fri, Jul 10, 10:23 AM
Unknown Object (File)
Sun, Jul 5, 7:28 PM
Unknown Object (File)
Sun, Jul 5, 1:54 PM
Unknown Object (File)
Sat, Jul 4, 6:43 PM
Unknown Object (File)
Fri, Jul 3, 10:23 AM
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.