From 4ab5e7c5afe8b6e0077b0ae3108cfccec7eeb128 Mon Sep 17 00:00:00 2001 From: RichardG867 Date: Wed, 8 Jul 2020 18:21:06 -0300 Subject: [PATCH] STPC: implement PCI IRQ steering, leave blank space for ELCR registers --- src/chipset/stpc.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/chipset/stpc.c b/src/chipset/stpc.c index fa1210aac..545cc150e 100644 --- a/src/chipset/stpc.c +++ b/src/chipset/stpc.c @@ -477,6 +477,16 @@ stpc_reg_write(uint16_t addr, uint8_t val, void *priv) case 0x36: val &= 0x3f; break; + + case 0x52: case 0x53: case 0x54: case 0x55: + stpc_log("STPC: Set IRQ routing: INT %c -> %d\n", 0x41 + ((dev->reg_offset & 0x03) ^ 0x02), (val & 0x80) ? (val & 0xf) : -1); + val &= 0x8f; + pci_set_irq_routing(PCI_INTA + ((dev->reg_offset & 0x03) ^ 0x02), (val & 0x80) ? (val & 0xf) : PCI_IRQ_DISABLED); + break; + + case 0x56: case 0x57: + /* ELCR goes here */ + break; } dev->regs[dev->reg_offset] = val;