diff options
| author | Doug Rabson <dfr@FreeBSD.org> | 2001-10-05 10:33:42 +0000 |
|---|---|---|
| committer | Doug Rabson <dfr@FreeBSD.org> | 2001-10-05 10:33:42 +0000 |
| commit | aa55386965a9905bba1f801f32365cc74ca86c6d (patch) | |
| tree | 2d88600a829b29849806308a4c99238bd97b5c51 /sys/dev/pci | |
| parent | 7a7029581c47ec440a1c4c5f69769ed51ed20f5b (diff) | |
Notes
Diffstat (limited to 'sys/dev/pci')
| -rw-r--r-- | sys/dev/pci/pci.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/sys/dev/pci/pci.c b/sys/dev/pci/pci.c index b24b391ce2f6..35ad74404e95 100644 --- a/sys/dev/pci/pci.c +++ b/sys/dev/pci/pci.c @@ -747,9 +747,20 @@ pci_add_resources(device_t pcib, int b, int s, int f, device_t dev) pci_add_map(pcib, b, s, f, q->arg1, rl); } - if (cfg->intpin > 0 && cfg->intline != 255) + if (cfg->intpin > 0 && cfg->intline != 255) { +#ifdef __ia64__ + /* + * Re-route interrupts on ia64 so that we can get the + * I/O SAPIC interrupt numbers (the BIOS leaves legacy + * PIC interrupt numbers in the intline registers). + */ + cfg->intline = PCIB_ROUTE_INTERRUPT(pcib, + dev, + cfg->intpin); +#endif resource_list_add(rl, SYS_RES_IRQ, 0, cfg->intline, cfg->intline, 1); + } } static void |
