[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 0/5] cmd646 tidy-up and interrupt status fixes
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-devel] [PATCH 0/5] cmd646 tidy-up and interrupt status fixes |
Date: |
Mon, 11 Aug 2014 16:13:00 +0100 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
On Fri, Aug 08, 2014 at 05:23:31PM +0100, Mark Cave-Ayland wrote:
> This patchset came out of my work trying to boot NetBSD on SPARC64.
>
> According to the datasheet, the 646U2 UDMA interrupt status bits are exact
> mirrors of the normal DMA interrupt status bits, and an interrupt can be
> cleared by writing a 1 to the relevant bit in PCI configuration space.
>
> The existing implementation caused NetBSD to fail since it would always check
> and clear the normal DMA interrupt status bit, even if UDMA was being used.
> Hence this patchset ensures that the current interrupt status is always
> consistent between both normal DMA and UDMA registers, including when either
> one of the interrupt status bits is cleared by writing to PCI configuration
> space.
>
> Signed-off-by: Mark Cave-Ayland <address@hidden>
>
> Mark Cave-Ayland (5):
> cmd646: add constants for CNTRL register access
> cmd646: synchronise DMA interrupt status with UDMA interrupt status
> cmd646: switch cmd646_update_irq() to accept PCIDevice instead of
> PCIIDEState
> cmd646: allow MRDMODE interrupt status bits clearing from PCI config
> space
> cmd646: synchronise UDMA interrupt status with DMA interrupt status
>
> hw/ide/cmd646.c | 94
> +++++++++++++++++++++++++++++++++++++++++++++++++------
> 1 file changed, 85 insertions(+), 9 deletions(-)
Looks good but I don't know the CMD646 registers. I left a question
about the last patch.
pgpeOYK7l5vVu.pgp
Description: PGP signature