summaryrefslogtreecommitdiffstats
path: root/sys/amd64/include/pci_cfgreg.h
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2002-09-06 17:08:07 +0000
committerjhb <jhb@FreeBSD.org>2002-09-06 17:08:07 +0000
commit49487ffa2c56cfdb3f1e348a058e462cc55e336d (patch)
tree73b1152b62f5dcf5057b2109c99dcf073441767f /sys/amd64/include/pci_cfgreg.h
parent7b3d4c8729c1e1340aafe9dbec1ef2189bae76df (diff)
downloadFreeBSD-src-49487ffa2c56cfdb3f1e348a058e462cc55e336d.zip
FreeBSD-src-49487ffa2c56cfdb3f1e348a058e462cc55e336d.tar.gz
- Add a pci_cfgintr_valid() function to see if a given IRQ is a valid
IRQ for an entry in a PCIBIOS interrupt routing ($PIR) table. - Change pci_cfgintr() to except the current IRQ of a device as a fourth argument and to use that IRQ for the device if it is valid. - If an intpin entry in a $PIR entry has a link of 0, it means that that intpin isn't connected to anything that can trigger an interrupt. Thus, test the link against 0 to find invalid entries in the table instead of implicitly relying on the irqs field to be zero. In the machines I have looked at, intpin entries with a link of 0 often have the bits for all possible interrupts for PCI devices set.
Diffstat (limited to 'sys/amd64/include/pci_cfgreg.h')
-rw-r--r--sys/amd64/include/pci_cfgreg.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/amd64/include/pci_cfgreg.h b/sys/amd64/include/pci_cfgreg.h
index 3c06dad..dd51998 100644
--- a/sys/amd64/include/pci_cfgreg.h
+++ b/sys/amd64/include/pci_cfgreg.h
@@ -50,6 +50,6 @@
int pci_cfgregopen(void);
u_int32_t pci_cfgregread(int bus, int slot, int func, int reg, int bytes);
void pci_cfgregwrite(int bus, int slot, int func, int reg, u_int32_t data, int bytes);
-int pci_cfgintr(int bus, int device, int pin);
+int pci_cfgintr(int bus, int device, int pin, int oldirq);
int pci_kill_pcibios(void);
int pci_pcibios_active(void);
OpenPOWER on IntegriCloud