[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 10/24] ide: add trigger_irq callback
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [PATCH 10/24] ide: add trigger_irq callback |
Date: |
Wed, 30 Oct 2013 14:16:17 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130923 Thunderbird/17.0.9 |
Il 30/10/2013 13:47, Kevin Wolf ha scritto:
> This whole add_status(BM_STATUS_INT) is weird and doesn't seem to make
> sense. For AHCI it triggers the actual IRQ, whereas for BMIDE it only
> sets the status register bit and requires a separate call to trigger the
> IRQ. This function is ide_set_irq(), which in turn ends up completely
> ignored by AHCI (ahci_irq_set() is an empty function).
The problem is that the IRQ ack is done differently in AHCI (using the
write-1-clears register PORT_IRQ_STAT; PORT_IRQ_MASK can also modify the
status of the interrupt line) and PATA (reading 0x1f7).
So perhaps the legacy PIO code of hw/ide/core.c should be abstracted
out, including the new restart support. (BTW, to test this with AHCI I
rigged up a modified version of AHCI that has the legacy ports, so that
I could run the new qtest on it).
Michael, can you look at this?
Paolo
- [Qemu-devel] [PATCH 05/24] ide: simplify reset callbacks, (continued)
- [Qemu-devel] [PATCH 05/24] ide: simplify reset callbacks, Paolo Bonzini, 2013/10/28
- [Qemu-devel] [PATCH 06/24] ide: simplify set_inactive callbacks, Paolo Bonzini, 2013/10/28
- [Qemu-devel] [PATCH 07/24] ide: simplify async_cmd_done callbacks, Paolo Bonzini, 2013/10/28
- [Qemu-devel] [PATCH 08/24] ide: simplify start_transfer callbacks, Paolo Bonzini, 2013/10/28
- [Qemu-devel] [PATCH 09/24] ide: wrap start_dma callback, Paolo Bonzini, 2013/10/28
- [Qemu-devel] [PATCH 10/24] ide: add trigger_irq callback, Paolo Bonzini, 2013/10/28
[Qemu-devel] [PATCH 11/24] ide: fold add_status callback into set_inactive, Paolo Bonzini, 2013/10/28
[Qemu-devel] [PATCH 12/24] ide: move BM_STATUS bits to pci.[ch], Paolo Bonzini, 2013/10/28
[Qemu-devel] [PATCH 13/24] ide: move retry constants out of BM_STATUS_* namespace, Paolo Bonzini, 2013/10/28
[Qemu-devel] [PATCH 14/24] ide: start extracting ide_restart_dma out of bmdma_restart_dma, Paolo Bonzini, 2013/10/28
[Qemu-devel] [PATCH 15/24] ide: prepare to move restart to common code, Paolo Bonzini, 2013/10/28
[Qemu-devel] [PATCH 16/24] ide: introduce ide_register_restart_cb, Paolo Bonzini, 2013/10/28