aboutsummaryrefslogtreecommitdiff
path: root/sys/kern/bus_if.m
diff options
context:
space:
mode:
authorAlexander Motin <mav@FreeBSD.org>2010-06-14 07:10:37 +0000
committerAlexander Motin <mav@FreeBSD.org>2010-06-14 07:10:37 +0000
commit93fc07b4340f8736b18095a28c6038c9941b3b09 (patch)
tree423ab29863b618eb95213b9452c47472bc992ceb /sys/kern/bus_if.m
parent486d3623ba6e274ad48587e1e962939238373712 (diff)
downloadsrc-93fc07b4340f8736b18095a28c6038c9941b3b09.tar.gz
src-93fc07b4340f8736b18095a28c6038c9941b3b09.zip
Virtualize pci_remap_msi_irq() call from general MSI code. It allows MSI
(FSB interrupts) to be used by non-PCI devices, such as HPET.
Notes
Notes: svn path=/head/; revision=209154
Diffstat (limited to 'sys/kern/bus_if.m')
-rw-r--r--sys/kern/bus_if.m22
1 files changed, 22 insertions, 0 deletions
diff --git a/sys/kern/bus_if.m b/sys/kern/bus_if.m
index c0924c882ab7..326156eb49dd 100644
--- a/sys/kern/bus_if.m
+++ b/sys/kern/bus_if.m
@@ -47,6 +47,15 @@ CODE {
{
return (0);
}
+
+ static int
+ null_remap_intr(device_t bus, device_t dev, u_int irq)
+ {
+
+ if (dev != NULL)
+ return (BUS_REMAP_INTR(dev, NULL, irq));
+ return (ENXIO);
+ }
};
/**
@@ -600,3 +609,16 @@ METHOD void hint_device_unit {
METHOD void new_pass {
device_t _dev;
} DEFAULT bus_generic_new_pass;
+
+/**
+ * @brief Notify a bus that specified child's IRQ should be remapped.
+ *
+ * @param _dev the bus device
+ * @param _child the child device
+ * @param _irq the irq number
+ */
+METHOD int remap_intr {
+ device_t _dev;
+ device_t _child;
+ u_int _irq;
+} DEFAULT null_remap_intr;