diff options
author | nwhitehorn <nwhitehorn@FreeBSD.org> | 2014-02-01 17:17:35 +0000 |
---|---|---|
committer | nwhitehorn <nwhitehorn@FreeBSD.org> | 2014-02-01 17:17:35 +0000 |
commit | fe5ea2b0207e1ec2c4537c9b3331811e6e7c0f61 (patch) | |
tree | a83a2c1252b628ba29e227d3b9818f9a71b63d48 /sys/powerpc/pseries | |
parent | b6007fbe3e12e7460f4a667fe2f52a1a291dcc5c (diff) | |
download | FreeBSD-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.c | 2 |
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); |