mirror of https://github.com/xemu-project/xemu.git
[Core Change] Port i8259 fixes from XQEMU 1.x
32cba22
i8259: in edge triggered mode apparently a training edge should cancel the interruptad6aef5
nforce chipset seems to allow setting irq0-3 to level triggered
This commit is contained in:
parent
0ed317ff4b
commit
6338bfae98
|
@ -147,6 +147,9 @@ static void pic_set_irq(void *opaque, int irq, int level)
|
|||
}
|
||||
s->last_irr |= mask;
|
||||
} else {
|
||||
#ifdef XBOX
|
||||
s->irr &= ~mask;
|
||||
#endif
|
||||
s->last_irr &= ~mask;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -95,7 +95,9 @@ ISADevice *i8259_init_chip(const char *name, ISABus *bus, bool master)
|
|||
dev = DEVICE(isadev);
|
||||
qdev_prop_set_uint32(dev, "iobase", master ? 0x20 : 0xa0);
|
||||
qdev_prop_set_uint32(dev, "elcr_addr", master ? 0x4d0 : 0x4d1);
|
||||
#ifndef XBOX
|
||||
qdev_prop_set_uint8(dev, "elcr_mask", master ? 0xf8 : 0xde);
|
||||
#endif
|
||||
qdev_prop_set_bit(dev, "master", master);
|
||||
qdev_init_nofail(dev);
|
||||
|
||||
|
|
Loading…
Reference in New Issue