diff --git a/sys/arm64/acpica/acpi_iort.c b/sys/arm64/acpica/acpi_iort.c --- a/sys/arm64/acpica/acpi_iort.c +++ b/sys/arm64/acpica/acpi_iort.c @@ -630,7 +630,7 @@ } int -acpi_iort_map_pci_smmuv3(u_int seg, u_int rid, u_int *xref, u_int *sid) +acpi_iort_map_pci_smmuv3(u_int seg, u_int rid, uint64_t *xref, u_int *sid) { ACPI_IORT_SMMU_V3 *smmu; struct iort_node *node; @@ -672,7 +672,7 @@ } int -acpi_iort_map_named_smmuv3(const char *devname, u_int rid, u_int *xref, +acpi_iort_map_named_smmuv3(const char *devname, u_int rid, uint64_t *xref, u_int *devid) { ACPI_IORT_SMMU_V3 *smmu; diff --git a/sys/arm64/iommu/smmu.c b/sys/arm64/iommu/smmu.c --- a/sys/arm64/iommu/smmu.c +++ b/sys/arm64/iommu/smmu.c @@ -1781,7 +1781,7 @@ } static int -smmu_pci_get_sid(device_t child, u_int *xref0, u_int *sid0) +smmu_pci_get_sid(device_t child, uintptr_t *xref0, u_int *sid0) { struct pci_id_ofw_iommu pi; int err; @@ -1945,7 +1945,7 @@ smmu_find(device_t dev, device_t child) { struct smmu_softc *sc; - u_int xref; + uintptr_t xref; int err; sc = device_get_softc(dev); diff --git a/sys/dev/acpica/acpivar.h b/sys/dev/acpica/acpivar.h --- a/sys/dev/acpica/acpivar.h +++ b/sys/dev/acpica/acpivar.h @@ -608,12 +608,13 @@ * ARM specific ACPI interfaces, relating to IORT table. */ int acpi_iort_map_pci_msi(u_int seg, u_int rid, u_int *xref, u_int *devid); -int acpi_iort_map_pci_smmuv3(u_int seg, u_int rid, u_int *xref, u_int *devid); +int acpi_iort_map_pci_smmuv3(u_int seg, u_int rid, uint64_t *xref, + u_int *devid); int acpi_iort_its_lookup(u_int its_id, u_int *xref, int *pxm); int acpi_iort_map_named_msi(const char *devname, u_int rid, u_int *xref, u_int *devid); -int acpi_iort_map_named_smmuv3(const char *devname, u_int rid, u_int *xref, - u_int *devid); +int acpi_iort_map_named_smmuv3(const char *devname, u_int rid, + uint64_t *xref, u_int *devid); #endif #endif /* _KERNEL */ #endif /* !_ACPIVAR_H_ */ diff --git a/sys/dev/pci/pci_host_generic_acpi.c b/sys/dev/pci/pci_host_generic_acpi.c --- a/sys/dev/pci/pci_host_generic_acpi.c +++ b/sys/dev/pci/pci_host_generic_acpi.c @@ -411,7 +411,8 @@ { struct generic_pcie_acpi_softc *sc; struct pci_id_ofw_iommu *iommu; - u_int iommu_sid, iommu_xref; + uint64_t iommu_xref; + u_int iommu_sid; uintptr_t rid; int err; diff --git a/sys/dev/pci/pci_host_generic_fdt.c b/sys/dev/pci/pci_host_generic_fdt.c --- a/sys/dev/pci/pci_host_generic_fdt.c +++ b/sys/dev/pci/pci_host_generic_fdt.c @@ -367,7 +367,7 @@ { struct pci_id_ofw_iommu *iommu; uint32_t iommu_rid; - uint32_t iommu_xref; + phandle_t iommu_xref; uint16_t pci_rid; phandle_t node; int err; diff --git a/sys/dev/pci/pcivar.h b/sys/dev/pci/pcivar.h --- a/sys/dev/pci/pcivar.h +++ b/sys/dev/pci/pcivar.h @@ -126,8 +126,8 @@ }; struct pci_id_ofw_iommu { + uintptr_t xref; uint32_t id; - uint32_t xref; }; /* Interesting values for HyperTransport */