]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
MFC r343853, r343856, r343860
authorJayachandran C. <jchandra@FreeBSD.org>
Wed, 18 Sep 2019 23:08:51 +0000 (23:08 +0000)
committerJayachandran C. <jchandra@FreeBSD.org>
Wed, 18 Sep 2019 23:08:51 +0000 (23:08 +0000)
commitb26eb6619f82ebf73ffbb78f6f3eda63cc234125
treea8e01a0086a706654a0de7f82a3a9720ff050d4a
parentfe5b2873fbee9503f4a4df906d6e35272975b08b
MFC r343853, r343856, r343860

r343853:
arm64 acpi: Add support for IORT table

Add new file arm64/acpica/acpi_iort.c to support the "IO Remapping
Table" (IORT). The table is specified in ARM document "ARM DEN 0049D"
titled "IO Remapping Table Platform Design Document".  The IORT table
has information on the associations between PCI root complexes, SMMU
blocks and GIC ITS blocks in the system.

The changes are to parse and save the information in the IORT table.
The API to use this information is added to sys/dev/acpica/acpivar.h.

The acpi_iort.c also has code to check the GIC ITS nodes seen in the
IORT table with corresponding entries in MADT table (for validity)
and with entries in SRAT table (for proximity information).

Reviewed by: andrew
Differential Revision: https://reviews.freebsd.org/D18002

r343856:
arm64 gicv3: add IORT and NUMA support

acpi_iort.c has added support to query GIC proximity and MSI XREF
ID for GIC ITS blocks. Use this when GIC ITS blocks are initialized
from ACPI.

Reviewed by: andrew
Differential Revision: https://reviews.freebsd.org/D18003

r343860:
pci_host_generic_acpi: use IORT data for MSI/MSI-X

Use the information from IORT parsing to translate the PCI RID to
GIC ITS device ID. And similarly, use the information to find the
PIC XREF identifier to be used for PCI devices.

Reviewed by: andrew
Differential Revision: https://reviews.freebsd.org/D18004
sys/arm64/acpica/acpi_iort.c [new file with mode: 0644]
sys/arm64/arm64/gic_v3_acpi.c
sys/arm64/arm64/gic_v3_var.h
sys/arm64/arm64/gicv3_its.c
sys/conf/files.arm64
sys/dev/acpica/acpivar.h
sys/dev/pci/pci_host_generic_acpi.c