Page MenuHomeFreeBSD

arm64: Add an initial GICv5 ITS driver
ClosedPublic

Authored by andrew on Dec 16 2025, 12:09 PM.
Tags
None
Referenced Files
F161396804: D54251.diff
Fri, Jul 3, 10:23 AM
Unknown Object (File)
Sun, Jun 14, 4:44 PM
Unknown Object (File)
Sun, Jun 7, 11:24 PM
Unknown Object (File)
Thu, Jun 4, 7:42 PM
Unknown Object (File)
Thu, Jun 4, 7:41 PM
Unknown Object (File)
Thu, Jun 4, 2:49 AM
Unknown Object (File)
Thu, Jun 4, 2:48 AM
Unknown Object (File)
May 31 2026, 2:13 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.Thu, Jun 18, 2:58 PM
This revision was automatically updated to reflect the committed changes.