PIIX3: Fix MIRQ0 / legacy IRQ switch, fixes #4861.
This commit is contained in:
@@ -599,9 +599,9 @@ piix_write(int func, int addr, uint8_t val, void *priv)
|
|||||||
pci_set_mirq_routing(PCI_MIRQ0 + (addr & 0x01), val & 0xf);
|
pci_set_mirq_routing(PCI_MIRQ0 + (addr & 0x01), val & 0xf);
|
||||||
if (dev->type == 3) {
|
if (dev->type == 3) {
|
||||||
if (val & 0x20)
|
if (val & 0x20)
|
||||||
sff_set_irq_mode(dev->bm[1], IRQ_MODE_MIRQ_0);
|
|
||||||
else
|
|
||||||
sff_set_irq_mode(dev->bm[1], IRQ_MODE_LEGACY);
|
sff_set_irq_mode(dev->bm[1], IRQ_MODE_LEGACY);
|
||||||
|
else
|
||||||
|
sff_set_irq_mode(dev->bm[1], IRQ_MODE_MIRQ_0);
|
||||||
}
|
}
|
||||||
piix_log("MIRQ%i is %s\n", addr & 0x01, (val & 0x20) ? "disabled" : "enabled");
|
piix_log("MIRQ%i is %s\n", addr & 0x01, (val & 0x20) ? "disabled" : "enabled");
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user