Revision 3a38d437 hw/cs4231a.c
b/hw/cs4231a.c | ||
---|---|---|
60 | 60 |
|
61 | 61 |
typedef struct CSState { |
62 | 62 |
QEMUSoundCard card; |
63 |
qemu_irq *pic;
|
|
63 |
qemu_irq pic; |
|
64 | 64 |
uint32_t regs[CS_REGS]; |
65 | 65 |
uint8_t dregs[CS_DREGS]; |
66 |
int irq; |
|
67 | 66 |
int dma; |
68 | 67 |
int port; |
69 | 68 |
int shift; |
... | ... | |
483 | 482 |
case Alternate_Feature_Status: |
484 | 483 |
if ((s->dregs[iaddr] & PI) && !(val & PI)) { |
485 | 484 |
/* XXX: TI CI */ |
486 |
qemu_irq_lower (s->pic[s->irq]);
|
|
485 |
qemu_irq_lower (s->pic); |
|
487 | 486 |
s->regs[Status] &= ~INT; |
488 | 487 |
} |
489 | 488 |
s->dregs[iaddr] = val; |
... | ... | |
503 | 502 |
|
504 | 503 |
case Status: |
505 | 504 |
if (s->regs[Status] & INT) { |
506 |
qemu_irq_lower (s->pic[s->irq]);
|
|
505 |
qemu_irq_lower (s->pic); |
|
507 | 506 |
} |
508 | 507 |
s->regs[Status] &= ~INT; |
509 | 508 |
s->dregs[Alternate_Feature_Status] &= ~(PI | CI | TI); |
... | ... | |
588 | 587 |
s->regs[Status] |= INT; |
589 | 588 |
s->dregs[Alternate_Feature_Status] |= PI; |
590 | 589 |
s->transferred = 0; |
591 |
qemu_irq_raise (s->pic[s->irq]);
|
|
590 |
qemu_irq_raise (s->pic); |
|
592 | 591 |
} |
593 | 592 |
else { |
594 | 593 |
s->transferred += written; |
... | ... | |
643 | 642 |
|
644 | 643 |
s = qemu_mallocz (sizeof (*s)); |
645 | 644 |
|
646 |
s->pic = pic; |
|
647 |
s->irq = conf.irq; |
|
645 |
s->pic = isa_reserve_irq(conf.irq); |
|
648 | 646 |
s->dma = conf.dma; |
649 | 647 |
s->port = conf.port; |
650 | 648 |
|
Also available in: Unified diff