[PATCH v3 0/8] Pegasos2 fixes and audio output support

BALATON Zoltan posted 8 patches 1 year, 2 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/cover.1677445307.git.balaton@eik.bme.hu
Maintainers: Gerd Hoffmann <kraxel@redhat.com>, BALATON Zoltan <balaton@eik.bme.hu>, Huacai Chen <chenhuacai@kernel.org>, "Philippe Mathieu-Daudé" <philmd@linaro.org>, Jiaxun Yang <jiaxun.yang@flygoat.com>
There is a newer version of this series
hw/audio/ac97.c            |  43 +---
hw/audio/ac97.h            |  65 ++++++
hw/audio/trace-events      |   6 +
hw/audio/via-ac97.c        | 455 ++++++++++++++++++++++++++++++++++++-
hw/display/sm501.c         | 119 ++++++++--
hw/isa/trace-events        |   1 +
hw/isa/vt82c686.c          |  41 +++-
hw/pci-host/mv64361.c      |   4 -
hw/ppc/pegasos2.c          |  26 ++-
hw/usb/vt82c686-uhci-pci.c |  12 -
include/hw/isa/vt82c686.h  |  25 ++
11 files changed, 706 insertions(+), 91 deletions(-)
create mode 100644 hw/audio/ac97.h
[PATCH v3 0/8] Pegasos2 fixes and audio output support
Posted by BALATON Zoltan 1 year, 2 months ago
Hello,

This is marked v3 to avoid confusion with previously separate patches
that already had v2, even if the series had no v2 yet.

This series now includes all patches needed to get AmigaOS 4.1 run
well on pegasos2 and add audio output to this board. It has 3 parts:
patches 1-3 improve hw/display/sm501 model to avoid graphics problems
that were present with AmigaOS; patches 4-6 fix PCI interrupt routing
in VIA VT8231 model and in pegasos2 board that fixes PCI cards such as
network or sound card not working before; finally patches 7-8 add
basic implementation of the via-ac97 audio part of VT8231 (also used
on VT82C686B) for output that is the default audio device on pegasos2.

This version was re-tested by Rene Engel with latest AmigaOS version
and runs as well as my original series did (posted a video with that
before). This works now on an M1 MacStudio on macOS where it was
unusable before. I've also tested it on Linux x86_64 with older
AmigaOS version that also boots and makes sound and verified MorphOS
still boots and also has sound now.

One known problem with this version that includes Berhard's
alternative vt82c686 patches is with MorphOS which uses level
sensitive mode of the i8259 PIC that QEMU does not support so it hangs
when multiple devices try to raise a shared IRQ. I could work around
that in my otiginal series (see here:
https://lists.nongnu.org/archive/html/qemu-ppc/2023-02/msg00403.html )
where this works and was also tested, that version is available here:
https://osdn.net/projects/qmiga/scm/git/qemu/tree/pegasos2/
but I could not convince Bernhard so I now expect him to provide a
work around for that. This isn't a blocker though as MorphOS already
runs on mac99 and sam460ex and only available as a time limited demo
(they only sell licenses for real hardware) so not really usable apart
from testing anyway so getting it running on pegasos2 would be nice
but not a prioriey, more important is that AmigaOS runs for which this
is the only viable machine as sam460ex version runs much slower. So
I'd like this to be merged for 8.0 as it is now or only minor chnages
(or alternatively we can return to my series which was also tested the
same way and apart from different VIA IRQ router modelling contains
the same patches).

Please review and let me know who will take care of merging this for 8.0.

Regards,
BALATON Zoltan

BALATON Zoltan (6):
  hw/display/sm501: Implement more 2D raster operations
  hw/display/sm501: Add fallbacks to pixman routines
  hw/display/sm501: Add debug property to control pixman usage
  hw/ppc/pegasos2: Fix PCI interrupt routing
  hw/audio/ac97: Split off some definitions to a header
  hw/audio/via-ac97: Basic implementation of audio playback

Bernhard Beschow (2):
  hw/isa/vt82c686: Implement PCI IRQ routing
  hw/usb/vt82c686-uhci-pci: Use PCI IRQ routing

 hw/audio/ac97.c            |  43 +---
 hw/audio/ac97.h            |  65 ++++++
 hw/audio/trace-events      |   6 +
 hw/audio/via-ac97.c        | 455 ++++++++++++++++++++++++++++++++++++-
 hw/display/sm501.c         | 119 ++++++++--
 hw/isa/trace-events        |   1 +
 hw/isa/vt82c686.c          |  41 +++-
 hw/pci-host/mv64361.c      |   4 -
 hw/ppc/pegasos2.c          |  26 ++-
 hw/usb/vt82c686-uhci-pci.c |  12 -
 include/hw/isa/vt82c686.h  |  25 ++
 11 files changed, 706 insertions(+), 91 deletions(-)
 create mode 100644 hw/audio/ac97.h

-- 
2.30.7
Re: [PATCH v3 0/8] Pegasos2 fixes and audio output support
Posted by BALATON Zoltan 1 year, 2 months ago
On Sun, 26 Feb 2023, BALATON Zoltan wrote:
> Hello,
>
> This is marked v3 to avoid confusion with previously separate patches
> that already had v2, even if the series had no v2 yet.
>
> This series now includes all patches needed to get AmigaOS 4.1 run
> well on pegasos2 and add audio output to this board. It has 3 parts:
> patches 1-3 improve hw/display/sm501 model to avoid graphics problems

Gerd, Peter, Daniel or Philippe,

Could you please review and merge the first 3 sm501 patches that's 
independent of the rest of the series and useful in themselves to reduce 
the size of this series and make it less confusing? The rest is still 
debated but at least these sm501 patches should be simple to review and 
merge now.

Regards,
BALATON Zoltan

> that were present with AmigaOS; patches 4-6 fix PCI interrupt routing
> in VIA VT8231 model and in pegasos2 board that fixes PCI cards such as
> network or sound card not working before; finally patches 7-8 add
> basic implementation of the via-ac97 audio part of VT8231 (also used
> on VT82C686B) for output that is the default audio device on pegasos2.
>
> This version was re-tested by Rene Engel with latest AmigaOS version
> and runs as well as my original series did (posted a video with that
> before). This works now on an M1 MacStudio on macOS where it was
> unusable before. I've also tested it on Linux x86_64 with older
> AmigaOS version that also boots and makes sound and verified MorphOS
> still boots and also has sound now.
>
> One known problem with this version that includes Berhard's
> alternative vt82c686 patches is with MorphOS which uses level
> sensitive mode of the i8259 PIC that QEMU does not support so it hangs
> when multiple devices try to raise a shared IRQ. I could work around
> that in my otiginal series (see here:
> https://lists.nongnu.org/archive/html/qemu-ppc/2023-02/msg00403.html )
> where this works and was also tested, that version is available here:
> https://osdn.net/projects/qmiga/scm/git/qemu/tree/pegasos2/
> but I could not convince Bernhard so I now expect him to provide a
> work around for that. This isn't a blocker though as MorphOS already
> runs on mac99 and sam460ex and only available as a time limited demo
> (they only sell licenses for real hardware) so not really usable apart
> from testing anyway so getting it running on pegasos2 would be nice
> but not a prioriey, more important is that AmigaOS runs for which this
> is the only viable machine as sam460ex version runs much slower. So
> I'd like this to be merged for 8.0 as it is now or only minor chnages
> (or alternatively we can return to my series which was also tested the
> same way and apart from different VIA IRQ router modelling contains
> the same patches).
>
> Please review and let me know who will take care of merging this for 8.0.
>
> Regards,
> BALATON Zoltan
>
> BALATON Zoltan (6):
>  hw/display/sm501: Implement more 2D raster operations
>  hw/display/sm501: Add fallbacks to pixman routines
>  hw/display/sm501: Add debug property to control pixman usage
>  hw/ppc/pegasos2: Fix PCI interrupt routing
>  hw/audio/ac97: Split off some definitions to a header
>  hw/audio/via-ac97: Basic implementation of audio playback
>
> Bernhard Beschow (2):
>  hw/isa/vt82c686: Implement PCI IRQ routing
>  hw/usb/vt82c686-uhci-pci: Use PCI IRQ routing
>
> hw/audio/ac97.c            |  43 +---
> hw/audio/ac97.h            |  65 ++++++
> hw/audio/trace-events      |   6 +
> hw/audio/via-ac97.c        | 455 ++++++++++++++++++++++++++++++++++++-
> hw/display/sm501.c         | 119 ++++++++--
> hw/isa/trace-events        |   1 +
> hw/isa/vt82c686.c          |  41 +++-
> hw/pci-host/mv64361.c      |   4 -
> hw/ppc/pegasos2.c          |  26 ++-
> hw/usb/vt82c686-uhci-pci.c |  12 -
> include/hw/isa/vt82c686.h  |  25 ++
> 11 files changed, 706 insertions(+), 91 deletions(-)
> create mode 100644 hw/audio/ac97.h
>
>