mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 00:03:54 -06:00
* PAPR nested hypervisor host implementation for spapr TCG
* excp_helper.c code cleanups and improvements * Move more ops to decodetree * Deprecate pseries-2.12 machines and P9 and P10 DD1.0 CPUs * Document running Linux on AmigaNG * Update dt feature advertising POWER CPUs. * Add P10 PMU SPRs * Improve pnv topology calculation for SMT8 CPUs. * Various bug fixes. -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEETkN92lZhb0MpsKeVZ7MCdqhiHK4FAmXwiT8ACgkQZ7MCdqhi HK7C/w//XxEO2bQTFPLFDTrP/voq7pcX8XeQNVyXCkXYjvsbu05oQow50k+Y5UAE US4MFjt8jFz0vuIKuKyoA3kG41zDSOzoX4TQXMM+tyTWbuFF3KAyfizb1xE6SYAN xJEGvmiXv/EgoSBD7BTKQp1tMPdIGZLwSdYiA0lmOo7YaMCgYAXaujW5hnNjQecT 873sN+10pHtQY++mINtD9Nfb6AcDGMWw0b+bykqIXhNRkI8IGOS4WF4vAuMBrwfe UM00wDnNRb86Dk14bv2XVNDr6/i0VRtUMwM4yiptrQ1TQx18LZaPSQFYjQfPaan7 LwN4QkMFnBX54yJ7Npvjvu8BCBF47kwOVu4CIAFJ4sIm0WfTmozDpPttwcZ5w7Ve iXDOB9ECAB4pQ2rCgbSNG8MYUZgoHHOuThqolOP0Vh9NHRRJxpdw6CyAbmCGftc0 lvRDPFiKp8xmCNJ/j3XzoUdHoG7NMwpUmHv9ruGU18SdQ8hyJN9AcQGWYrB4v0RV /hs2RAbwntG7ahkcwd8uy5aFw88Wph/uGXPXc49EWj7i49vHeIV2y5+gtthMywje qqjFXkistXuF+JHVnyoYmqqCyXaHX5CEwtawMv4EQeaJs76bLhMeMTKKl9rRp8qB DtbIZphO8iMsocrBnje48sA5HR0PM+H4HTjw10i8R0fLlWitaIY= =XnY5 -----END PGP SIGNATURE----- Merge tag 'pull-ppc-for-9.0-2-20240313' of https://gitlab.com/npiggin/qemu into staging * PAPR nested hypervisor host implementation for spapr TCG * excp_helper.c code cleanups and improvements * Move more ops to decodetree * Deprecate pseries-2.12 machines and P9 and P10 DD1.0 CPUs * Document running Linux on AmigaNG * Update dt feature advertising POWER CPUs. * Add P10 PMU SPRs * Improve pnv topology calculation for SMT8 CPUs. * Various bug fixes. # -----BEGIN PGP SIGNATURE----- # # iQIzBAABCgAdFiEETkN92lZhb0MpsKeVZ7MCdqhiHK4FAmXwiT8ACgkQZ7MCdqhi # HK7C/w//XxEO2bQTFPLFDTrP/voq7pcX8XeQNVyXCkXYjvsbu05oQow50k+Y5UAE # US4MFjt8jFz0vuIKuKyoA3kG41zDSOzoX4TQXMM+tyTWbuFF3KAyfizb1xE6SYAN # xJEGvmiXv/EgoSBD7BTKQp1tMPdIGZLwSdYiA0lmOo7YaMCgYAXaujW5hnNjQecT # 873sN+10pHtQY++mINtD9Nfb6AcDGMWw0b+bykqIXhNRkI8IGOS4WF4vAuMBrwfe # UM00wDnNRb86Dk14bv2XVNDr6/i0VRtUMwM4yiptrQ1TQx18LZaPSQFYjQfPaan7 # LwN4QkMFnBX54yJ7Npvjvu8BCBF47kwOVu4CIAFJ4sIm0WfTmozDpPttwcZ5w7Ve # iXDOB9ECAB4pQ2rCgbSNG8MYUZgoHHOuThqolOP0Vh9NHRRJxpdw6CyAbmCGftc0 # lvRDPFiKp8xmCNJ/j3XzoUdHoG7NMwpUmHv9ruGU18SdQ8hyJN9AcQGWYrB4v0RV # /hs2RAbwntG7ahkcwd8uy5aFw88Wph/uGXPXc49EWj7i49vHeIV2y5+gtthMywje # qqjFXkistXuF+JHVnyoYmqqCyXaHX5CEwtawMv4EQeaJs76bLhMeMTKKl9rRp8qB # DtbIZphO8iMsocrBnje48sA5HR0PM+H4HTjw10i8R0fLlWitaIY= # =XnY5 # -----END PGP SIGNATURE----- # gpg: Signature made Tue 12 Mar 2024 16:56:31 GMT # gpg: using RSA key 4E437DDA56616F4329B0A79567B30276A8621CAE # gpg: Good signature from "Nicholas Piggin <npiggin@gmail.com>" [unknown] # gpg: WARNING: This key is not certified with a trusted signature! # gpg: There is no indication that the signature belongs to the owner. # Primary key fingerprint: 4E43 7DDA 5661 6F43 29B0 A795 67B3 0276 A862 1CAE * tag 'pull-ppc-for-9.0-2-20240313' of https://gitlab.com/npiggin/qemu: (38 commits) spapr: nested: Introduce cap-nested-papr for Nested PAPR API spapr: nested: Introduce H_GUEST_RUN_VCPU hcall. spapr: nested: Use correct source for parttbl info for nested PAPR API. spapr: nested: Introduce H_GUEST_[GET|SET]_STATE hcalls. spapr: nested: Initialize the GSB elements lookup table. spapr: nested: Extend nested_ppc_state for nested PAPR API spapr: nested: Introduce H_GUEST_CREATE_VCPU hcall. spapr: nested: Introduce H_GUEST_[CREATE|DELETE] hcalls. spapr: nested: Introduce H_GUEST_[GET|SET]_CAPABILITIES hcalls. spapr: nested: Document Nested PAPR API spapr: nested: keep nested-hv related code restricted to its API. spapr: nested: Introduce SpaprMachineStateNested to store related info. spapr: nested: move nested part of spapr_get_pate into spapr_nested.c spapr: nested: register nested-hv api hcalls only for cap-nested-hv target/ppc: Remove interrupt handler wrapper functions target/ppc: Clean up ifdefs in excp_helper.c, part 3 target/ppc: Clean up ifdefs in excp_helper.c, part 2 target/ppc: Clean up ifdefs in excp_helper.c, part 1 target/ppc: Add gen_exception_err_nip() function target/ppc: Readability improvements in exception handlers ... Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
51e31f2140
28 changed files with 2883 additions and 563 deletions
161
docs/system/ppc/amigang.rst
Normal file
161
docs/system/ppc/amigang.rst
Normal file
|
@ -0,0 +1,161 @@
|
|||
=========================================================
|
||||
AmigaNG boards (``amigaone``, ``pegasos2``, ``sam460ex``)
|
||||
=========================================================
|
||||
|
||||
These PowerPC machines emulate boards that are primarily used for
|
||||
running Amiga like OSes (AmigaOS 4, MorphOS and AROS) but these can
|
||||
also run Linux which is what this section documents.
|
||||
|
||||
Eyetech AmigaOne/Mai Logic Teron (``amigaone``)
|
||||
===============================================
|
||||
|
||||
The ``amigaone`` machine emulates an AmigaOne XE mainboard by Eyetech
|
||||
which is a rebranded Mai Logic Teron board with modified U-Boot
|
||||
firmware to support AmigaOS 4.
|
||||
|
||||
Emulated devices
|
||||
----------------
|
||||
|
||||
* PowerPC 7457 CPU (can also use``-cpu g3, 750cxe, 750fx`` or ``750gx``)
|
||||
* Articia S north bridge
|
||||
* VIA VT82C686B south bridge
|
||||
* PCI VGA compatible card (guests may need other card instead)
|
||||
* PS/2 keyboard and mouse
|
||||
|
||||
Firmware
|
||||
--------
|
||||
|
||||
A firmware binary is necessary for the boot process. It is a modified
|
||||
U-Boot under GPL but its source is lost so it cannot be included in
|
||||
QEMU. A binary is available at
|
||||
https://www.hyperion-entertainment.com/index.php/downloads?view=files&parent=28.
|
||||
The ROM image is in the last 512kB which can be extracted with the
|
||||
following command:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ tail -c 524288 updater.image > u-boot-amigaone.bin
|
||||
|
||||
The BIOS emulator in the firmware is unable to run QEMU‘s standard
|
||||
vgabios so ``VGABIOS-lgpl-latest.bin`` is needed instead which can be
|
||||
downloaded from http://www.nongnu.org/vgabios.
|
||||
|
||||
Running Linux
|
||||
-------------
|
||||
|
||||
There are some Linux images under the following link that work on the
|
||||
``amigaone`` machine:
|
||||
https://sourceforge.net/projects/amigaone-linux/files/debian-installer/.
|
||||
To boot the system run:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ qemu-system-ppc -machine amigaone -bios u-boot-amigaone.bin \
|
||||
-cdrom "A1 Linux Net Installer.iso" \
|
||||
-device ati-vga,model=rv100,romfile=VGABIOS-lgpl-latest.bin
|
||||
|
||||
From the firmware menu that appears select ``Boot sequence`` →
|
||||
``Amiga Multiboot Options`` and set ``Boot device 1`` to
|
||||
``Onboard VIA IDE CDROM``. Then hit escape until the main screen appears again,
|
||||
hit escape once more and from the exit menu that appears select either
|
||||
``Save settings and exit`` or ``Use settings for this session only``. It may
|
||||
take a long time loading the kernel into memory but eventually it boots and the
|
||||
installer becomes visible. The ``ati-vga`` RV100 emulation is not
|
||||
complete yet so only frame buffer works, DRM and 3D is not available.
|
||||
|
||||
Genesi/bPlan Pegasos II (``pegasos2``)
|
||||
======================================
|
||||
|
||||
The ``pegasos2`` machine emulates the Pegasos II sold by Genesi and
|
||||
designed by bPlan. Its schematics are available at
|
||||
https://www.powerdeveloper.org/platforms/pegasos/schematics.
|
||||
|
||||
Emulated devices
|
||||
----------------
|
||||
|
||||
* PowerPC 7457 CPU (can also use``-cpu g3`` or ``750cxe``)
|
||||
* Marvell MV64361 Discovery II north bridge
|
||||
* VIA VT8231 south bridge
|
||||
* PCI VGA compatible card (guests may need other card instead)
|
||||
* PS/2 keyboard and mouse
|
||||
|
||||
Firmware
|
||||
--------
|
||||
|
||||
The Pegasos II board has an Open Firmware compliant ROM based on
|
||||
SmartFirmware with some changes that are not open-sourced therefore
|
||||
the ROM binary cannot be included in QEMU. An updater was available
|
||||
from bPlan, it can be found in the `Internet Archive
|
||||
<http://web.archive.org/web/20071021223056/http://www.bplan-gmbh.de/up050404/up050404>`_.
|
||||
The ROM image can be extracted from it with the following command:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ tail -c +85581 up050404 | head -c 524288 > pegasos2.rom
|
||||
|
||||
Running Linux
|
||||
-------------
|
||||
|
||||
The PowerPC version of Debian 8.11 supported Pegasos II. The BIOS
|
||||
emulator in the firmware binary is unable to run QEMU‘s standard
|
||||
vgabios so it needs to be disabled. To boot the system run:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ qemu-system-ppc -machine pegasos2 -bios pegasos2.rom \
|
||||
-cdrom debian-8.11.0-powerpc-netinst.iso \
|
||||
-device VGA,romfile="" -serial stdio
|
||||
|
||||
At the firmware ``ok`` prompt enter ``boot cd install/pegasos``.
|
||||
|
||||
Alternatively, it is possible to boot the kernel directly without
|
||||
firmware ROM using the QEMU built-in minimal Virtual Open Firmware
|
||||
(VOF) emulation which is also supported on ``pegasos2``. For this,
|
||||
extract the kernel ``install/powerpc/vmlinuz-chrp.initrd`` from the CD
|
||||
image, then run:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ qemu-system-ppc -machine pegasos2 -serial stdio \
|
||||
-kernel vmlinuz-chrp.initrd -append "---" \
|
||||
-cdrom debian-8.11.0-powerpc-netinst.iso
|
||||
|
||||
aCube Sam460ex (``sam460ex``)
|
||||
=============================
|
||||
|
||||
The ``sam460ex`` machine emulates the Sam460ex board by aCube which is
|
||||
based on the AMCC PowerPC 460EX SoC (that despite its name has a
|
||||
PPC440 CPU core).
|
||||
|
||||
Firmware
|
||||
--------
|
||||
|
||||
The board has a firmware based on an older U-Boot version with
|
||||
modifications to support booting AmigaOS 4. The firmware ROM is
|
||||
included with QEMU.
|
||||
|
||||
Emulated devices
|
||||
----------------
|
||||
|
||||
* PowerPC 460EX SoC
|
||||
* M41T80 serial RTC chip
|
||||
* Silicon Motion SM501 display parts (identical to SM502 on real board)
|
||||
* Silicon Image SiI3112 2 port SATA controller
|
||||
* USB keyboard and mouse
|
||||
|
||||
Running Linux
|
||||
-------------
|
||||
|
||||
The only Linux distro that supported Sam460ex out of box was CruxPPC
|
||||
2.x. It can be booted by running:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ qemu-system-ppc -machine sam460ex -serial stdio \
|
||||
-drive if=none,id=cd,format=raw,file=crux-ppc-2.7a.iso \
|
||||
-device ide-cd,drive=cd,bus=ide.1
|
||||
|
||||
There are some other kernels and instructions for booting other
|
||||
distros on aCube's product page at
|
||||
https://www.acube-systems.biz/index.php?page=hardware&pid=5
|
||||
but those are untested.
|
|
@ -17,6 +17,7 @@ help``.
|
|||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
ppc/amigang
|
||||
ppc/embedded
|
||||
ppc/powermac
|
||||
ppc/powernv
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue