Page MenuHomeFreeBSD

SPI MSI mapping for gic v3 acpi in arm64
ClosedPublic

Authored by schakrabarti_microsoft.com on Dec 20 2022, 8:55 PM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Jan 6, 8:26 AM
Unknown Object (File)
Thu, Jan 2, 9:53 AM
Unknown Object (File)
Sat, Dec 28, 8:14 AM
Unknown Object (File)
Nov 29 2024, 7:14 AM
Unknown Object (File)
Nov 29 2024, 6:13 AM
Unknown Object (File)
Nov 18 2024, 11:09 AM
Unknown Object (File)
Nov 17 2024, 8:05 PM
Unknown Object (File)
Nov 4 2024, 9:59 AM

Details

Summary

Microsoft Azure Hyper-V uses SPI to map MSI in ARM64, instead of using LPI IDS.
To enable that we need to have gic registered with ACPI_MSI_XREF and gic acpi to map SPI for MSI.

Diff Detail

Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

sys/arm64/arm64/gic_v3.c
393

style(9) is four spaces for 2nd level indentation (i.e., arg line wrapping) so please leave this unchanged

Are there times other than when running as a hyperv guest that these might be needed?

In D37763#862942, @imp wrote:

Are there times other than when running as a hyperv guest that these might be needed?

If any other ACPI platform uses SPI for MSI, instead of using LPI and ITS for MSI, then it would be required.

This revision is now accepted and ready to land.Jan 30 2023, 2:21 PM
sys/arm64/arm64/gic_v3.c
385

Is this needed? We set the end in gic_v3_acpi.c

sys/arm64/arm64/gic_v3_acpi.c
339

range

sys/arm64/arm64/gic_v3.c
385

Yes, but the value of the end is 0 for Hyper-V, so if the end value is zero, we are using the full range.

jrtc27 added inline comments.
sys/arm64/arm64/gic_v3_acpi.c
339

This was not addressed prior to committing

sys/arm64/arm64/gic_v3_acpi.c
339

Will fix this typo in next commit.