qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/5] cmd646 tidy-up and interrupt status fixes
@ 2014-08-08 16:23 Mark Cave-Ayland
  2014-08-08 16:23 ` [Qemu-devel] [PATCH 1/5] cmd646: add constants for CNTRL register access Mark Cave-Ayland
                   ` (6 more replies)
  0 siblings, 7 replies; 11+ messages in thread
From: Mark Cave-Ayland @ 2014-08-08 16:23 UTC (permalink / raw)
  To: qemu-devel, kwolf, stefanha

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 <mark.cave-ayland@ilande.co.uk>

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(-)

-- 
1.7.10.4

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2014-08-12  8:54 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-08-08 16:23 [Qemu-devel] [PATCH 0/5] cmd646 tidy-up and interrupt status fixes Mark Cave-Ayland
2014-08-08 16:23 ` [Qemu-devel] [PATCH 1/5] cmd646: add constants for CNTRL register access Mark Cave-Ayland
2014-08-08 16:23 ` [Qemu-devel] [PATCH 2/5] cmd646: synchronise DMA interrupt status with UDMA interrupt status Mark Cave-Ayland
2014-08-08 16:23 ` [Qemu-devel] [PATCH 3/5] cmd646: switch cmd646_update_irq() to accept PCIDevice instead of PCIIDEState Mark Cave-Ayland
2014-08-08 16:23 ` [Qemu-devel] [PATCH 4/5] cmd646: allow MRDMODE interrupt status bits clearing from PCI config space Mark Cave-Ayland
2014-08-08 16:23 ` [Qemu-devel] [PATCH 5/5] cmd646: synchronise UDMA interrupt status with DMA interrupt status Mark Cave-Ayland
2014-08-11 15:12   ` Stefan Hajnoczi
2014-08-11 15:33     ` Mark Cave-Ayland
2014-08-12  8:47       ` Stefan Hajnoczi
2014-08-11 15:13 ` [Qemu-devel] [PATCH 0/5] cmd646 tidy-up and interrupt status fixes Stefan Hajnoczi
2014-08-12  8:53 ` Stefan Hajnoczi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).