summaryrefslogtreecommitdiffstats
path: root/sys/powerpc/pseries
diff options
context:
space:
mode:
authornwhitehorn <nwhitehorn@FreeBSD.org>2014-02-01 17:17:35 +0000
committernwhitehorn <nwhitehorn@FreeBSD.org>2014-02-01 17:17:35 +0000
commitfe5ea2b0207e1ec2c4537c9b3331811e6e7c0f61 (patch)
treea83a2c1252b628ba29e227d3b9818f9a71b63d48 /sys/powerpc/pseries
parentb6007fbe3e12e7460f4a667fe2f52a1a291dcc5c (diff)
downloadFreeBSD-src-fe5ea2b0207e1ec2c4537c9b3331811e6e7c0f61.zip
FreeBSD-src-fe5ea2b0207e1ec2c4537c9b3331811e6e7c0f61.tar.gz
Open Firmware interrupt specifiers can consist of arbitrary-length byte
strings and include arbitrary information (IRQ line/domain/sense). When the ofw_bus_map_intr() API was introduced, it assumed that, as on most systems, these were either 1 cell, containing an interrupt line, or 2, containing a line number plus a sense code. It turns out a non-negligible number of ARM systems use 3 (or even 4!) cells for interrupts, so make this more general.
Diffstat (limited to 'sys/powerpc/pseries')
-rw-r--r--sys/powerpc/pseries/vdevice.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/powerpc/pseries/vdevice.c b/sys/powerpc/pseries/vdevice.c
index 54cd5dd..e733a9d 100644
--- a/sys/powerpc/pseries/vdevice.c
+++ b/sys/powerpc/pseries/vdevice.c
@@ -157,7 +157,7 @@ vdevice_attach(device_t dev)
u_int irq = intr[i];
if (iparent != -1)
irq = ofw_bus_map_intr(dev, iparent,
- intr[i]);
+ icells, &intr[i]);
resource_list_add(&dinfo->mdi_resources,
SYS_RES_IRQ, i, irq, irq, i);
OpenPOWER on IntegriCloud