All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/3] Implement "non 100% native mode" in via-ide
@ 2020-03-09 19:18 BALATON Zoltan
  2020-03-09 19:18 ` [PATCH v3 2/3] pci: Honour wmask when resetting PCI_INTERRUPT_LINE BALATON Zoltan
                   ` (4 more replies)
  0 siblings, 5 replies; 16+ messages in thread
From: BALATON Zoltan @ 2020-03-09 19:18 UTC (permalink / raw)
  To: qemu-devel, qemu-block
  Cc: John Snow, Mark Cave-Ayland, Aleksandar Markovic, philmd,
	Artyom Tarasenko, Richard Henderson

This small series implements "non-100% native mode" of via-ide found
at least on pegasos2 where io addresses come from PCI BARs but
interrupts are hard coded to legacy IRQ14 and 15. This is needed for
guests that expect it and activate work arounds on that platform and
don't work unless this is emulated. (Symptom is missing IDE IRQs after
enabling BMDMA and boot freezes waiting for interrupt.)

We need a flag to turn this mode on or off so the first patch
repurposes the last remaining CMD646 specific field in PCIIDEState to
allow more flags and make room for the new legacy-irq flag there. (The
CMD646 may need similar mode or something else may need more flags in
the future.) Boards using CMD646 and VIA IDE are updated for the above
changes. Second patch fixes up PCI reset to not clear value set by
device emulation on bus reset when wmask does not allow that.

Tested with Linux and MorphOS on pegasos2 and a Gentoo live CD kernel
for mips_fulong2e that's the only one I could find but being beta not
sure if that fully works on real hardware. (The mips_fulong2e also
seems to have problems with pci devices so to boot Linux you need
-net none -vga none and use serial console otherwise the kernel panics.)

Regards,
BALATON Zoltan

BALATON Zoltan (3):
  ide: Make room for flags in PCIIDEState and add one for legacy IRQ
    routing
  pci: Honour wmask when resetting PCI_INTERRUPT_LINE
  via-ide: Also emulate non 100% native mode

 hw/alpha/dp264.c        |  2 +-
 hw/ide/cmd646.c         | 12 ++++++------
 hw/ide/via.c            | 37 +++++++++++++++++++++++++++++--------
 hw/mips/mips_fulong2e.c |  2 +-
 hw/pci/pci.c            |  4 +++-
 hw/sparc64/sun4u.c      |  9 ++-------
 include/hw/ide.h        |  7 ++++---
 include/hw/ide/pci.h    |  7 ++++++-
 8 files changed, 52 insertions(+), 28 deletions(-)

-- 
2.21.1



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

end of thread, other threads:[~2020-03-10 18:37 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-03-09 19:18 [PATCH v3 0/3] Implement "non 100% native mode" in via-ide BALATON Zoltan
2020-03-09 19:18 ` [PATCH v3 2/3] pci: Honour wmask when resetting PCI_INTERRUPT_LINE BALATON Zoltan
2020-03-09 20:39   ` Michael S. Tsirkin
2020-03-09 20:54     ` BALATON Zoltan
2020-03-10  3:36       ` Michael S. Tsirkin
2020-03-10 18:15       ` Mark Cave-Ayland
2020-03-10 18:20         ` BALATON Zoltan
2020-03-09 19:18 ` [PATCH v3 1/3] ide: Make room for flags in PCIIDEState and add one for legacy IRQ routing BALATON Zoltan
2020-03-09 19:18 ` [PATCH v3 3/3] via-ide: Also emulate non 100% native mode BALATON Zoltan
2020-03-09 20:36   ` Michael S. Tsirkin
2020-03-09 20:50     ` BALATON Zoltan
2020-03-09 21:06       ` BALATON Zoltan
2020-03-10  3:32       ` Michael S. Tsirkin
2020-03-09 21:16 ` [PATCH v3 0/3] Implement "non 100% native mode" in via-ide no-reply
2020-03-10 18:31 ` Mark Cave-Ayland
2020-03-10 18:36   ` BALATON Zoltan

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.