qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v10 7/7] hw/ppc: Add emulation of Genesi/bPlan Pegasos II


From: BALATON Zoltan
Subject: Re: [PATCH v10 7/7] hw/ppc: Add emulation of Genesi/bPlan Pegasos II
Date: Wed, 24 Mar 2021 12:21:02 +0100 (CET)

On Wed, 24 Mar 2021, David Gibson wrote:
On Tue, Mar 23, 2021 at 02:01:27PM +0100, BALATON Zoltan wrote:
On Tue, 23 Mar 2021, David Gibson wrote:
On Wed, Mar 17, 2021 at 02:17:51AM +0100, BALATON Zoltan wrote:
Add new machine called pegasos2 emulating the Genesi/bPlan Pegasos II,
a PowerPC board based on the Marvell MV64361 system controller and the
VIA VT8231 integrated south bridge/superio chips. It can run Linux,
AmigaOS and a wide range of MorphOS versions. Currently a firmware ROM
image is needed to boot and only MorphOS has a video driver to produce
graphics output. Linux could work too but distros that supported this
machine don't include usual video drivers so those only run with
serial console for now.

Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
 MAINTAINERS                             |  10 ++
 default-configs/devices/ppc-softmmu.mak |   2 +
 hw/ppc/Kconfig                          |   9 ++
 hw/ppc/meson.build                      |   2 +
 hw/ppc/pegasos2.c                       | 144 ++++++++++++++++++++++++
 5 files changed, 167 insertions(+)
 create mode 100644 hw/ppc/pegasos2.c

diff --git a/MAINTAINERS b/MAINTAINERS
index b6ab3d25a7..1c3c55ef09 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1353,6 +1353,16 @@ F: pc-bios/canyonlands.dt[sb]
 F: pc-bios/u-boot-sam460ex-20100605.bin
 F: roms/u-boot-sam460ex

+pegasos2
+M: BALATON Zoltan <balaton@eik.bme.hu>
+R: David Gibson <david@gibson.dropbear.id.au>
+L: qemu-ppc@nongnu.org
+S: Maintained
+F: hw/ppc/pegasos2.c
+F: hw/pci-host/mv64361.c
+F: hw/pci-host/mv643xx.h
+F: include/hw/pci-host/mv64361.h

Oh, sorry about the comment in the previous patch.

 RISC-V Machines
 ---------------
 OpenTitan
diff --git a/default-configs/devices/ppc-softmmu.mak 
b/default-configs/devices/ppc-softmmu.mak
index 61b78b844d..4535993d8d 100644
--- a/default-configs/devices/ppc-softmmu.mak
+++ b/default-configs/devices/ppc-softmmu.mak
@@ -14,5 +14,7 @@ CONFIG_SAM460EX=y
 CONFIG_MAC_OLDWORLD=y
 CONFIG_MAC_NEWWORLD=y

+CONFIG_PEGASOS2=y

I don't think we can have this default to enabled while it requires a
non-free ROM to start.

Not having it enabled though does not help those who might want to use it as
they are not people who can compile their own QEMU but rely on binaries so
adding it without also enabling it is like it wasn't there at all in
practice.

Not convinced, sorry.  If it's not usable out of the box, having to
build from source is kind of expected.  Or you could convince someone

I accept your point however there's a difference of only needing a ROM image to be able to use it from your distro's binary and having to rebuild it from source. So to me needing a ROM does not make it expected having to rebuild it. Needing to configure it some way would make that expected.

(or do it yourself) to provide prebuild binaries for this purpose that
have the right things enabled.

There are people who provide binaries with patches for such purposes but that limits the availability of it compared to having it in all distro binaries without further effort. As I said I also plan to solve this eventually but I'd probably need VOF for that. Will that be merged at last? Other alternatives would be modifying SLOF, OpenBIOS or OpenFirmware or rewrite SmartFirmware to free it from its non-distributable parts but I think VOF would be a simpler way also avoiding adding another full OF implementation to QEMU that already has more than there should be.

Regards,
BALATON Zoltan

I can attempt to make some guests boot without a ROM but since
guests expect an OpenFirmware client interface, I'll need something to
provide that. I'm waiting for VOF to be merged for this.

Regards,
BALATON Zoltan



reply via email to

[Prev in Thread] Current Thread [Next in Thread]