PCI now supports a fourth MIRQ.
This commit is contained in:
@@ -44,6 +44,7 @@
|
|||||||
#define PCI_MIRQ0 0
|
#define PCI_MIRQ0 0
|
||||||
#define PCI_MIRQ1 1
|
#define PCI_MIRQ1 1
|
||||||
#define PCI_MIRQ2 2
|
#define PCI_MIRQ2 2
|
||||||
|
#define PCI_MIRQ3 3
|
||||||
|
|
||||||
#define PCI_IRQ_DISABLED -1
|
#define PCI_IRQ_DISABLED -1
|
||||||
|
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ static uint8_t pci_pmc = 0, last_pci_card = 0, last_normal_pci_card = 0, last_p
|
|||||||
static uint8_t pci_card_to_slot_mapping[256][32], pci_bus_number_to_index_mapping[256];
|
static uint8_t pci_card_to_slot_mapping[256][32], pci_bus_number_to_index_mapping[256];
|
||||||
static uint8_t pci_irqs[16], pci_irq_level[16];
|
static uint8_t pci_irqs[16], pci_irq_level[16];
|
||||||
static uint64_t pci_irq_hold[16];
|
static uint64_t pci_irq_hold[16];
|
||||||
static pci_mirq_t pci_mirqs[3];
|
static pci_mirq_t pci_mirqs[4];
|
||||||
static int pci_type,
|
static int pci_type,
|
||||||
pci_switch,
|
pci_switch,
|
||||||
pci_index,
|
pci_index,
|
||||||
@@ -446,7 +446,7 @@ pci_set_irq(uint8_t card, uint8_t pci_int)
|
|||||||
} else
|
} else
|
||||||
pci_log("pci_set_irq(%02X, %02X): Using IRQ %i\n", card, pci_int, irq_line);
|
pci_log("pci_set_irq(%02X, %02X): Using IRQ %i\n", card, pci_int, irq_line);
|
||||||
|
|
||||||
if (picint_is_level(irq_line) && (pci_irq_hold[irq_line] & (1ULL << slot))) {
|
if (level && (pci_irq_hold[irq_line] & (1ULL << slot))) {
|
||||||
/* IRQ already held, do nothing. */
|
/* IRQ already held, do nothing. */
|
||||||
pci_log("pci_set_irq(%02X, %02X): Card is already holding the IRQ\n", card, pci_int);
|
pci_log("pci_set_irq(%02X, %02X): Card is already holding the IRQ\n", card, pci_int);
|
||||||
return;
|
return;
|
||||||
|
|||||||
Reference in New Issue
Block a user