Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F175792805
D60653.id189618.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
5 KB
Referenced Files
None
Subscribers
None
D60653.id189618.diff
View Options
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
@@ -46,7 +46,7 @@
/*
* Track next XREF available for ITS groups.
*/
-static u_int acpi_its_xref = ACPI_MSI_XREF;
+static intptr_t acpi_its_xref = ACPI_MSI_XREF;
/*
* Some types of IORT nodes have a set of mappings. Each of them map
@@ -70,8 +70,8 @@
* data here, so that it can be retrieved together.
*/
struct iort_its_entry {
+ intptr_t xref;
u_int its_id;
- u_int xref;
int pxm;
};
@@ -470,7 +470,7 @@
ACPI_MADT_GICv5_ITS *gicv5_its;
struct iort_node *its_node;
struct iort_its_entry *its_entry;
- u_int xref;
+ intptr_t xref;
int i, matches;
switch (entry->Type) {
@@ -638,7 +638,7 @@
* Provide ITS ID to PIC xref mapping.
*/
int
-acpi_iort_its_lookup(u_int its_id, u_int *xref, int *pxm)
+acpi_iort_its_lookup(u_int its_id, intptr_t *xref, int *pxm)
{
struct iort_node *its_node;
struct iort_its_entry *its_entry;
@@ -663,7 +663,7 @@
* use for the interrupt setup
*/
int
-acpi_iort_map_pci_msi(u_int seg, u_int rid, u_int *xref, u_int *devid)
+acpi_iort_map_pci_msi(u_int seg, u_int rid, intptr_t *xref, u_int *devid)
{
struct iort_node *node;
@@ -703,7 +703,7 @@
* XREF for MSI interrupt setup and the device ID to use for the interrupt setup.
*/
int
-acpi_iort_map_named_msi(const char *devname, u_int rid, u_int *xref,
+acpi_iort_map_named_msi(const char *devname, u_int rid, intptr_t *xref,
u_int *devid)
{
struct iort_node *node;
@@ -803,11 +803,11 @@
acpi_iort_alloc_msi(device_t bus, device_t dev, int *count)
{
int *irqs;
+ intptr_t xref;
int irq_count;
int error;
int i;
int its_id;
- u_int xref;
int pxm;
irq_count = *count;
diff --git a/sys/arm64/arm64/gic_v3_acpi.c b/sys/arm64/arm64/gic_v3_acpi.c
--- a/sys/arm64/arm64/gic_v3_acpi.c
+++ b/sys/arm64/arm64/gic_v3_acpi.c
@@ -392,7 +392,7 @@
struct gic_v3_acpi_devinfo *di;
struct gic_v3_softc *sc;
device_t child, dev;
- u_int xref;
+ intptr_t xref;
int err, pxm;
if (entry->Type == ACPI_MADT_TYPE_GENERIC_TRANSLATOR) {
diff --git a/sys/arm64/arm64/gic_v3_var.h b/sys/arm64/arm64/gic_v3_var.h
--- a/sys/arm64/arm64/gic_v3_var.h
+++ b/sys/arm64/arm64/gic_v3_var.h
@@ -99,8 +99,8 @@
};
struct gic_v3_devinfo {
+ intptr_t msi_xref;
int gic_domain;
- int msi_xref;
int is_vgic;
};
diff --git a/sys/arm64/arm64/gicv5_its.c b/sys/arm64/arm64/gicv5_its.c
--- a/sys/arm64/arm64/gicv5_its.c
+++ b/sys/arm64/arm64/gicv5_its.c
@@ -1283,10 +1283,10 @@
struct find_its_translate_data {
bus_addr_t its_frame_paddr;
+ intptr_t its_translate_xref;
uint8_t flags;
int its_found;
int its_translate_found;
- u_int its_translate_xref;
int its_translate_pxm;
};
diff --git a/sys/arm64/arm64/gicv5_iwb.c b/sys/arm64/arm64/gicv5_iwb.c
--- a/sys/arm64/arm64/gicv5_iwb.c
+++ b/sys/arm64/arm64/gicv5_iwb.c
@@ -626,7 +626,7 @@
gicv5_iwb_acpi_attach(device_t dev)
{
struct gicv5_iwb_acpi_softc *sc;
- u_int xref;
+ intptr_t xref;
int its_id;
int error;
int pxm;
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
@@ -612,11 +612,12 @@
/*
* 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_msi(u_int seg, u_int rid, intptr_t *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,
+int acpi_iort_its_lookup(u_int its_id, intptr_t *xref, int *pxm);
+int acpi_iort_map_named_msi(const char *devname, u_int rid, intptr_t *xref,
u_int *devid);
int acpi_iort_map_named_smmuv3(const char *devname, u_int rid,
uint64_t *xref, u_int *devid);
diff --git a/sys/dev/dpaa2/dpaa2_mc.c b/sys/dev/dpaa2/dpaa2_mc.c
--- a/sys/dev/dpaa2/dpaa2_mc.c
+++ b/sys/dev/dpaa2/dpaa2_mc.c
@@ -113,7 +113,7 @@
RESOURCE_SPEC_END
};
-static u_int dpaa2_mc_get_xref(device_t, device_t);
+static intptr_t dpaa2_mc_get_xref(device_t, device_t);
static u_int dpaa2_mc_map_id(device_t, device_t, uintptr_t *);
static int dpaa2_mc_alloc_msi_impl(device_t, device_t, int, int, int *);
@@ -644,13 +644,14 @@
/**
* @internal
*/
-static u_int
+static intptr_t
dpaa2_mc_get_xref(device_t mcdev, device_t child)
{
struct dpaa2_mc_softc *sc = device_get_softc(mcdev);
struct dpaa2_devinfo *dinfo = device_get_ivars(child);
#ifdef DEV_ACPI
- u_int xref, devid;
+ intptr_t xref;
+ u_int devid;
#endif
#ifdef FDT
phandle_t msi_parent;
@@ -678,7 +679,7 @@
&msi_parent, NULL);
if (error)
return (0);
- return ((u_int) msi_parent);
+ return ((intptr_t) msi_parent);
}
#endif
}
@@ -693,7 +694,8 @@
{
struct dpaa2_devinfo *dinfo;
#ifdef DEV_ACPI
- u_int xref, devid;
+ intptr_t xref;
+ u_int devid;
int error;
#endif
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
@@ -368,12 +368,13 @@
return (acpi_pcib_route_interrupt(bus, dev, pin, &sc->ap_prt));
}
-static u_int
+static intptr_t
generic_pcie_get_xref(device_t pci, device_t child)
{
struct generic_pcie_acpi_softc *sc;
uintptr_t rid;
- u_int xref, devid;
+ intptr_t xref;
+ u_int devid;
int err;
sc = device_get_softc(pci);
@@ -391,7 +392,8 @@
{
struct generic_pcie_acpi_softc *sc;
uintptr_t rid;
- u_int xref, devid;
+ intptr_t xref;
+ u_int devid;
int err;
sc = device_get_softc(pci);
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Wed, Oct 14, 9:51 AM (8 h, 54 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
40764479
Default Alt Text
D60653.id189618.diff (5 KB)
Attached To
Mode
D60653: arm64/acpica: Fix the IORT MSI xref type
Attached
Detach File
Event Timeline
Log In to Comment