Skip to content

Commit 71569cd

Browse files
committed
Merge tag 'pull-ppc-for-10.0-1-20250311' of https://gitlab.com/npiggin/qemu into staging
* Next round of XIVE patches... * tag 'pull-ppc-for-10.0-1-20250311' of https://gitlab.com/npiggin/qemu: (72 commits) docs/system/ppc/amigang.rst: Update for NVRAM emulation ppc/amigaone: Add #defines for memory map constants ppc/amigaone: Add kernel and initrd support ppc/amigaone: Add default environment ppc/amigaone: Implement NVRAM emulation ppc/amigaone: Simplify replacement dummy_fw spapr: Generate random HASHPKEYR for spapr machines target/ppc: Avoid warning message for zero process table entries target/ppc: Wire up BookE ATB registers for e500 family target/ppc: fix timebase register reset state spapr: nested: Add support for reporting Hostwide state counter ppc: spapr: Enable 2nd DAWR on Power10 pSeries machine ppc: Enable 2nd DAWR support on Power10 PowerNV machine hw/ppc/epapr: Do not swap ePAPR magic value hw/ppc/spapr: Convert DIRTY_HPTE() macro as hpte_set_dirty() method hw/ppc/spapr: Convert CLEAN_HPTE() macro as hpte_set_clean() method hw/ppc/spapr: Convert HPTE_DIRTY() macro as hpte_is_dirty() method hw/ppc/spapr: Convert HPTE_VALID() macro as hpte_is_valid() method hw/ppc/spapr: Convert HPTE() macro as hpte_get_ptr() method target/ppc: Restrict ATTN / SCV / PMINSN helpers to TCG ... [Fix __packed macro redefinition on FreeBSD 14 hosts: ../hw/ppc/pnv_occ.c:397:9: error: '__packed' macro redefined [-Werror,-Wmacro-redefined] 397 | #define __packed QEMU_PACKED | ^ /usr/include/sys/cdefs.h:217:9: note: previous definition is here 217 | #define __packed __attribute__((__packed__)) | ^ --Stefan] Signed-off-by: Stefan Hajnoczi <[email protected]>
2 parents 94d689d + 0f17ae2 commit 71569cd

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

76 files changed

+4203
-3690
lines changed

MAINTAINERS

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1407,12 +1407,6 @@ F: hw/openrisc/openrisc_sim.c
14071407

14081408
PowerPC Machines
14091409
----------------
1410-
405 (ref405ep)
1411-
1412-
S: Orphan
1413-
F: hw/ppc/ppc405*
1414-
F: tests/functional/test_ppc_405.py
1415-
14161410
Bamboo
14171411
14181412
S: Orphan
@@ -1543,6 +1537,7 @@ F: include/hw/ppc/pnv*
15431537
F: include/hw/pci-host/pnv*
15441538
F: include/hw/ssi/pnv_spi*
15451539
F: pc-bios/skiboot.lid
1540+
F: pc-bios/pnv-pnor.bin
15461541
F: tests/qtest/pnv*
15471542
F: tests/functional/test_ppc64_powernv.py
15481543

docs/about/deprecated.rst

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -266,6 +266,15 @@ in the QEMU object model anymore. ``Sun-UltraSparc-IIIi+`` and
266266
but for consistency these will get removed in a future release, too.
267267
Use ``Sun-UltraSparc-IIIi-plus`` and ``Sun-UltraSparc-IV-plus`` instead.
268268

269+
PPC 405 CPUs (since 10.0)
270+
'''''''''''''''''''''''''
271+
272+
The PPC 405 CPU has no known users and the ``ref405ep`` machine was
273+
removed in QEMU 10.0. Since the IBM POWER [8-11] processors uses an
274+
embedded 405 for power management (OCC) and other internal tasks, it
275+
is theoretically possible to use QEMU to model them. Let's keep the
276+
CPU implementation for a while before removing all support.
277+
269278
System emulator machines
270279
------------------------
271280

@@ -277,14 +286,6 @@ deprecated; use the new name ``dtb-randomness`` instead. The new name
277286
better reflects the way this property affects all random data within
278287
the device tree blob, not just the ``kaslr-seed`` node.
279288

280-
PPC 405 ``ref405ep`` machine (since 9.1)
281-
''''''''''''''''''''''''''''''''''''''''
282-
283-
The ``ref405ep`` machine and PPC 405 CPU have no known users, firmware
284-
images are not available, OpenWRT dropped support in 2019, U-Boot in
285-
2017, Linux also is dropping support in 2024. It is time to let go of
286-
this ancient hardware and focus on newer CPUs and platforms.
287-
288289
Big-Endian variants of MicroBlaze ``petalogix-ml605`` and ``xlnx-zynqmp-pmu`` machines (since 9.2)
289290
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
290291

docs/about/removed-features.rst

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1064,6 +1064,13 @@ for all machine types using the PXA2xx and OMAP2 SoCs. We are also
10641064
dropping the ``cheetah`` OMAP1 board, because we don't have any
10651065
test images for it and don't know of anybody who does.
10661066

1067+
ppc ``ref405ep`` machine (removed in 10.0)
1068+
''''''''''''''''''''''''''''''''''''''''''
1069+
1070+
This machine was removed because PPC 405 CPU have no known users,
1071+
firmware images are not available, OpenWRT dropped support in 2019,
1072+
U-Boot in 2017, and Linux in 2024.
1073+
10671074
linux-user mode CPUs
10681075
--------------------
10691076

docs/system/ppc/amigang.rst

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ Emulated devices
2121
* VIA VT82C686B south bridge
2222
* PCI VGA compatible card (guests may need other card instead)
2323
* PS/2 keyboard and mouse
24+
* 4 KiB NVRAM (use ``-drive if=mtd,format=raw,file=nvram.bin`` to keep contents persistent)
2425

2526
Firmware
2627
--------
@@ -54,14 +55,14 @@ To boot the system run:
5455
-cdrom "A1 Linux Net Installer.iso" \
5556
-device ati-vga,model=rv100,romfile=VGABIOS-lgpl-latest.bin
5657
57-
From the firmware menu that appears select ``Boot sequence`` →
58-
``Amiga Multiboot Options`` and set ``Boot device 1`` to
59-
``Onboard VIA IDE CDROM``. Then hit escape until the main screen appears again,
60-
hit escape once more and from the exit menu that appears select either
61-
``Save settings and exit`` or ``Use settings for this session only``. It may
62-
take a long time loading the kernel into memory but eventually it boots and the
63-
installer becomes visible. The ``ati-vga`` RV100 emulation is not
64-
complete yet so only frame buffer works, DRM and 3D is not available.
58+
If a firmware menu appears, select ``Boot sequence`` → ``Amiga Multiboot Options``
59+
and set ``Boot device 1`` to ``Onboard VIA IDE CDROM``. Then hit escape until
60+
the main screen appears again, hit escape once more and from the exit menu that
61+
appears select either ``Save settings and exit`` or ``Use settings for this
62+
session only``. It may take a long time loading the kernel into memory but
63+
eventually it boots and the installer becomes visible. The ``ati-vga`` RV100
64+
emulation is not complete yet so only frame buffer works, DRM and 3D is not
65+
available.
6566

6667
Genesi/bPlan Pegasos II (``pegasos2``)
6768
======================================

docs/system/ppc/embedded.rst

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,5 @@ Embedded family boards
44
- ``bamboo`` bamboo
55
- ``mpc8544ds`` mpc8544ds
66
- ``ppce500`` generic paravirt e500 platform
7-
- ``ref405ep`` ref405ep
87
- ``sam460ex`` aCube Sam460ex
98
- ``virtex-ml507`` Xilinx Virtex ML507 reference design

docs/system/ppc/powernv.rst

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,13 @@ Use a MTD drive to add a PNOR to the machine, and get a NVRAM :
195195
196196
-drive file=./witherspoon.pnor,format=raw,if=mtd
197197
198+
If no mtd drive is provided, the powernv platform will create a default
199+
PNOR device using a tiny formatted PNOR in pc-bios/pnv-pnor.bin opened
200+
read-only (PNOR changes will be persistent across reboots but not across
201+
invocations of QEMU). If no defaults are used, an erased 128MB PNOR is
202+
provided (which skiboot will probably not recognize since it is not
203+
formatted).
204+
198205
Maintainer contact information
199206
------------------------------
200207

hw/intc/pnv_xive.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
/*
22
* QEMU PowerPC XIVE interrupt controller model
33
*
4-
* Copyright (c) 2017-2019, IBM Corporation.
4+
* Copyright (c) 2017-2024, IBM Corporation.
55
*
6-
* This code is licensed under the GPL version 2 or later. See the
7-
* COPYING file in the top-level directory.
6+
* SPDX-License-Identifier: GPL-2.0-or-later
87
*/
98

109
#include "qemu/osdep.h"
@@ -473,7 +472,7 @@ static bool pnv_xive_is_cpu_enabled(PnvXive *xive, PowerPCCPU *cpu)
473472

474473
static int pnv_xive_match_nvt(XivePresenter *xptr, uint8_t format,
475474
uint8_t nvt_blk, uint32_t nvt_idx,
476-
bool cam_ignore, uint8_t priority,
475+
bool crowd, bool cam_ignore, uint8_t priority,
477476
uint32_t logic_serv, XiveTCTXMatch *match)
478477
{
479478
PnvXive *xive = PNV_XIVE(xptr);
@@ -500,7 +499,8 @@ static int pnv_xive_match_nvt(XivePresenter *xptr, uint8_t format,
500499
* Check the thread context CAM lines and record matches.
501500
*/
502501
ring = xive_presenter_tctx_match(xptr, tctx, format, nvt_blk,
503-
nvt_idx, cam_ignore, logic_serv);
502+
nvt_idx, cam_ignore,
503+
logic_serv);
504504
/*
505505
* Save the context and follow on to catch duplicates, that we
506506
* don't support yet.

0 commit comments

Comments
 (0)