Commit 98ff7d30f2dd8ebf9c8ecb8a579bd24c17a15440
1 parent
43095f31
BMDMA interrupt fix (aka Solaris x86 IDE bug fix)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1421 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
3 additions
and
0 deletions
hw/ide.c
| @@ -499,7 +499,10 @@ static inline void ide_abort_command(IDEState *s) | @@ -499,7 +499,10 @@ static inline void ide_abort_command(IDEState *s) | ||
| 499 | 499 | ||
| 500 | static inline void ide_set_irq(IDEState *s) | 500 | static inline void ide_set_irq(IDEState *s) |
| 501 | { | 501 | { |
| 502 | + BMDMAState *bm = s->bmdma; | ||
| 502 | if (!(s->cmd & IDE_CMD_DISABLE_IRQ)) { | 503 | if (!(s->cmd & IDE_CMD_DISABLE_IRQ)) { |
| 504 | + if (bm) | ||
| 505 | + bm->status |= BM_STATUS_INT; | ||
| 503 | #ifdef TARGET_PPC | 506 | #ifdef TARGET_PPC |
| 504 | if (s->openpic) | 507 | if (s->openpic) |
| 505 | openpic_set_irq(s->openpic, s->irq, 1); | 508 | openpic_set_irq(s->openpic, s->irq, 1); |