summaryrefslogtreecommitdiff
path: root/hw/i8259.c
diff options
context:
space:
mode:
authorbalrog <balrog@c046a42c-6fe2-441c-8c8c-71466251a162>2008-07-19 09:18:48 +0000
committerbalrog <balrog@c046a42c-6fe2-441c-8c8c-71466251a162>2008-07-19 09:18:48 +0000
commit846787113a3c5beb010145c2870ca163c5d21497 (patch)
treea29f964fa3ae61504c665969fffa9d4d950c06fe /hw/i8259.c
parent315bc7aa0eb8a0d30a2ffb4f8bfc605575629d61 (diff)
downloadqemu-846787113a3c5beb010145c2870ca163c5d21497.tar.gz
qemu-846787113a3c5beb010145c2870ca163c5d21497.tar.bz2
qemu-846787113a3c5beb010145c2870ca163c5d21497.zip
Special Mask Mode for i8259 PIC (Sebastian Reichelt).
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4894 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'hw/i8259.c')
-rw-r--r--hw/i8259.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/hw/i8259.c b/hw/i8259.c
index add63450fe..750a76ca97 100644
--- a/hw/i8259.c
+++ b/hw/i8259.c
@@ -123,6 +123,8 @@ static int pic_get_irq(PicState *s)
master, the IRQ coming from the slave is not taken into account
for the priority computation. */
mask = s->isr;
+ if (s->special_mask)
+ mask &= ~s->imr;
if (s->special_fully_nested_mode && s == &s->pics_state->pics[0])
mask &= ~(1 << 2);
cur_priority = get_priority(s, mask);