PCI now supports a fourth MIRQ.

This commit is contained in:
OBattler
2021-06-07 00:20:04 +02:00
parent cc310d663f
commit bfbb4b9655
2 changed files with 3 additions and 2 deletions

View File

@@ -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

View File

@@ -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;