* [PULL 0/5] PPC Queue for 2026-05-23
@ 2026-05-23 16:27 Harsh Prateek Bora
2026-05-23 16:27 ` [PULL 1/5] ppc/spapr: Skip system reset for quiesced CPUs Harsh Prateek Bora
` (5 more replies)
0 siblings, 6 replies; 7+ messages in thread
From: Harsh Prateek Bora @ 2026-05-23 16:27 UTC (permalink / raw)
To: qemu-devel
The following changes since commit f5a2438405d4ae8b62de7c9b39fac0b2155ee544:
Merge tag 'pull-qapi-2026-05-21' of https://repo.or.cz/qemu/armbru into staging (2026-05-21 09:00:22 -0400)
are available in the Git repository at:
https://gitlab.com/harshpb/qemu.git tags/pull-ppc-for-11.1-0523-20260523
for you to fetch changes up to 31064eb74c8635d3747d091f455d232665e06a2e:
ppc/spapr: Make Power11 as default cpu for pseries (2026-05-23 20:34:10 +0530)
----------------------------------------------------------------
PPC Queue for 2026-05-23
* ppc/spapr: Make Power11 as default cpu for pseries
* ppc/pnv: Make PowerNV11 as the default powernv machine
* ppc/spapr: skip system reset for quiesced CPUs
* ppc/pnv: Fix uninitialized MpiplProcDumpArea struct
* target/ppc/kvm: Fix const violation when trimming CPU alias suffix
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEEa4EM1tK+EPOIPSFCRUTplPnWj7sFAmoR0bUACgkQRUTplPnW
j7vdng//Zpave2r0fGigk/qyjvpbHUvPO3bM57EAVHn7AiaO9okF9Mc+1k8jBS1s
DvzTEwj24TorMq/ndz5I6JVjRL0o/0a/+cGGn8/8nu7D0zsbCqiD5LUiulicc7Nj
JmOnFxaO8FebEZoQvizG0CwbW6KetxFVbq4vFUnG9Hn16ZVn3vasnL7QRVOTfDUJ
Kc59OXrtoUsrOOp5ODQEDXGt57WsoTaIhGhFDr+/pcWHk7H75pKXoezmzW4Ba5KB
Zf78V+Bai7tAhaUghAlmvf+BSJr5aXpxC1nuKfFnFI+VDgbHdv0/bKFKtCmGBVzg
XK1cjR6zip1qxmjYF9hCIp7SS/DTmQ3F6rVzyTz4L+/16XtV+gU9gBw5zyFkTJdQ
/U0HOwMD2mxhf8fhtlquq456Dveb7RXOSj+pq9D4NwUB1qgG1G0d+u20oL1OXi33
C2AxH4yu0F84dWLX/s1+266pEccLYNiEPAv+nQH2awjISBGphteIOZuMv49R+a68
me4HJ3BWxtCDjed20+PURtnHDzoaeF6QvG9Qs8xkZsnlvVZ4o4MbchythZkYFhRJ
RnWj1WpIiOMtem6QhcX3wm/XR26yZhp/1Znv2MypFoi7NBZY/cNtzc+kFYq8mwZq
quJFxjDZ5TFg38ngomvlUsVnQrHuohNGktJsNnVNy5W8DtaeyUs=
=+DsC
-----END PGP SIGNATURE-----
----------------------------------------------------------------
Aditya Gupta (2):
ppc/pnv: Make PowerNV11 as the default powernv machine
ppc/spapr: Make Power11 as default cpu for pseries
Amit Machhiwal (1):
target/ppc/kvm: Fix const violation when trimming CPU alias suffix
Shivang Upadhyay (2):
ppc/spapr: Skip system reset for quiesced CPUs
ppc/pnv: Fix uninitialized MpiplProcDumpArea struct
hw/ppc/pnv.c | 20 ++++++--------------
hw/ppc/spapr.c | 3 ++-
hw/ppc/spapr_hcall.c | 9 +++++++++
target/ppc/kvm.c | 11 +++++------
4 files changed, 22 insertions(+), 21 deletions(-)
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PULL 1/5] ppc/spapr: Skip system reset for quiesced CPUs
2026-05-23 16:27 [PULL 0/5] PPC Queue for 2026-05-23 Harsh Prateek Bora
@ 2026-05-23 16:27 ` Harsh Prateek Bora
2026-05-23 16:27 ` [PULL 2/5] ppc/pnv: Fix uninitialized MpiplProcDumpArea struct Harsh Prateek Bora
` (4 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Harsh Prateek Bora @ 2026-05-23 16:27 UTC (permalink / raw)
To: qemu-devel
Cc: Shivang Upadhyay, Sourabh Jain, Mahesh J Salgaonkar,
Anushree Mathur, Vishal Chourasia
From: Shivang Upadhyay <shivangu@linux.ibm.com>
During DLPAR CPU hotplug, newly added CPUs start in RTAS stopped state
(quiesced). If a kexec crash occurs before the guest starts these CPUs
via start-cpu RTAS call, H_SIGNAL_SYS_RESET_ALL_OTHERS will reset them
anyway, causing the kdump kernel to hang:
[ 5.519483][ T1] Processor 0 is stuck.
[ 11.089481][ T1] Processor 1 is stuck.
The hypervisor should only reset CPUs that the guest has started. The
cpu->env.quiesced flag tracks RTAS stopped state - CPUs in this state
are already inactive and should not be reset.
Skip system reset for quiesced CPUs to prevent kdump hangs during CPU
hotplug operations.
Cc: Sourabh Jain <sourabhjain@linux.ibm.com>
Cc: Harsh Prateek Bora <harshpb@linux.ibm.com>
Cc: Mahesh J Salgaonkar <mahesh@linux.ibm.com>
Reported-by: Anushree Mathur <anushree.mathur@linux.vnet.ibm.com>
Suggested-by: Vishal Chourasia <vishalc@linux.ibm.com>
Reviewed-by: Vishal Chourasia <vishalc@linux.ibm.com>
Signed-off-by: Shivang Upadhyay <shivangu@linux.ibm.com>
Link: https://lore.kernel.org/qemu-devel/20260511095055.82495-1-shivangu@linux.ibm.com
[harshpb: expanded comment to elobarate more on the rationale]
Signed-off-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
---
hw/ppc/spapr_hcall.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/hw/ppc/spapr_hcall.c b/hw/ppc/spapr_hcall.c
index 032805a8d0..60ba215e86 100644
--- a/hw/ppc/spapr_hcall.c
+++ b/hw/ppc/spapr_hcall.c
@@ -1105,6 +1105,15 @@ static target_ulong h_signal_sys_reset(PowerPCCPU *cpu,
continue;
}
}
+
+ /* Skip quiesced CPUs - they are in RTAS stopped state and
+ * should not be reset. This prevents kdump hangs when CPUs
+ * are hotplugged but not yet started by the guest.
+ */
+ if (c->env.quiesced) {
+ continue;
+ }
+
run_on_cpu(cs, spapr_do_system_reset_on_cpu, RUN_ON_CPU_NULL);
}
return H_SUCCESS;
--
2.52.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PULL 2/5] ppc/pnv: Fix uninitialized MpiplProcDumpArea struct
2026-05-23 16:27 [PULL 0/5] PPC Queue for 2026-05-23 Harsh Prateek Bora
2026-05-23 16:27 ` [PULL 1/5] ppc/spapr: Skip system reset for quiesced CPUs Harsh Prateek Bora
@ 2026-05-23 16:27 ` Harsh Prateek Bora
2026-05-23 16:27 ` [PULL 3/5] target/ppc/kvm: Fix const violation when trimming CPU alias suffix Harsh Prateek Bora
` (3 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Harsh Prateek Bora @ 2026-05-23 16:27 UTC (permalink / raw)
To: qemu-devel; +Cc: Shivang Upadhyay, Aditya Gupta, Peter Maydell
From: Shivang Upadhyay <shivangu@linux.ibm.com>
Fix Coverity CID 1658041 by using designated initializers to prevent
uninitialized memory from being written to guest.
Cc: Aditya Gupta <adityag@linux.ibm.com>
Cc: Harsh Prateek Bora <harshpb@linux.ibm.com>
Reported-by: Peter Maydell <peter.maydell@linaro.org>
Suggested-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Shivang Upadhyay <shivangu@linux.ibm.com>"
Reviewed-by: Aditya Gupta <adityag@linux.ibm.com>
Link: https://lore.kernel.org/qemu-devel/20260508142029.624039-1-shivangu@linux.ibm.com
Signed-off-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
---
hw/ppc/pnv.c | 16 ++++------------
1 file changed, 4 insertions(+), 12 deletions(-)
diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c
index 8306754d9a..6a45852174 100644
--- a/hw/ppc/pnv.c
+++ b/hw/ppc/pnv.c
@@ -838,18 +838,10 @@ static void pnv_reset(MachineState *machine, ResetType type)
* crash
*/
- MpiplProcDumpArea proc_area;
-
- proc_area.version = PROC_DUMP_AREA_VERSION_P9;
- proc_area.thread_size = cpu_to_be32(sizeof(MpiplPreservedCPUState));
-
- /* These are to be allocated & assigned by the firmware */
- proc_area.alloc_addr = 0;
- proc_area.alloc_size = 0;
-
- /* These get assigned after crash, when QEMU preserves the registers */
- proc_area.dest_addr = 0;
- proc_area.act_size = 0;
+ MpiplProcDumpArea proc_area = {
+ .version = PROC_DUMP_AREA_VERSION_P9,
+ .thread_size = cpu_to_be32(sizeof(MpiplPreservedCPUState)),
+ };
cpu_physical_memory_write(PROC_DUMP_AREA_OFF, &proc_area,
sizeof(proc_area));
--
2.52.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PULL 3/5] target/ppc/kvm: Fix const violation when trimming CPU alias suffix
2026-05-23 16:27 [PULL 0/5] PPC Queue for 2026-05-23 Harsh Prateek Bora
2026-05-23 16:27 ` [PULL 1/5] ppc/spapr: Skip system reset for quiesced CPUs Harsh Prateek Bora
2026-05-23 16:27 ` [PULL 2/5] ppc/pnv: Fix uninitialized MpiplProcDumpArea struct Harsh Prateek Bora
@ 2026-05-23 16:27 ` Harsh Prateek Bora
2026-05-23 16:27 ` [PULL 4/5] ppc/pnv: Make PowerNV11 as the default powernv machine Harsh Prateek Bora
` (2 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: Harsh Prateek Bora @ 2026-05-23 16:27 UTC (permalink / raw)
To: qemu-devel; +Cc: Amit Machhiwal, Vaibhav Jain, Anushree Mathur, Aditya Gupta
From: Amit Machhiwal <amachhiw@linux.ibm.com>
GCC 16 tightens diagnostics around const correctness and now correctly
rejects attempts to modify strings referenced through const-qualified
pointers. In kvm_ppc_register_host_cpu_type(), ppc_cpu_aliases[i].model
is defined as const char *, but the code was using strstr() on it and
then modifying the returned pointer in-place to strip
POWERPC_CPU_TYPE_SUFFIX.
This results in a write through a pointer derived from const data,
triggering a build failure with GCC 16:
error: assignment discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers]
suffix = strstr(ppc_cpu_aliases[i].model, POWERPC_CPU_TYPE_SUFFIX);
^
Fix this by changing suffix to 'const gchar *' and using g_strstr_len()
to locate the suffix, then allocating a new string with g_strndup() (to
copy only the prefix) or g_strdup() (to copy the entire name if no
suffix exists). This maintains const correctness throughout while
preserving the original functionality.
No functional change intended.
Signed-off-by: Vaibhav Jain <vaibhav@linux.ibm.com>
Signed-off-by: Amit Machhiwal <amachhiw@linux.ibm.com>
Tested-by: Anushree Mathur <anushree.mathur@linux.ibm.com>
Reviewed-by: Aditya Gupta <adityag@linux.ibm.com>
Link: https://lore.kernel.org/qemu-devel/20260518172517.12466-2-amachhiw@linux.ibm.com
Signed-off-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
---
target/ppc/kvm.c | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/target/ppc/kvm.c b/target/ppc/kvm.c
index 25c28ad089..b94c2997a0 100644
--- a/target/ppc/kvm.c
+++ b/target/ppc/kvm.c
@@ -2654,13 +2654,12 @@ static int kvm_ppc_register_host_cpu_type(void)
dc = DEVICE_CLASS(ppc_cpu_get_family_class(pvr_pcc));
for (i = 0; ppc_cpu_aliases[i].alias != NULL; i++) {
if (g_ascii_strcasecmp(ppc_cpu_aliases[i].alias, dc->desc) == 0) {
- char *suffix;
+ const gchar *suffix, *cname = object_class_get_name(oc);
+
+ suffix = g_strstr_len(cname, -1, POWERPC_CPU_TYPE_SUFFIX);
+ ppc_cpu_aliases[i].model = suffix ?
+ g_strndup(cname, (gsize)(suffix - cname)) : g_strdup(cname);
- ppc_cpu_aliases[i].model = g_strdup(object_class_get_name(oc));
- suffix = strstr(ppc_cpu_aliases[i].model, POWERPC_CPU_TYPE_SUFFIX);
- if (suffix) {
- *suffix = 0;
- }
break;
}
}
--
2.52.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PULL 4/5] ppc/pnv: Make PowerNV11 as the default powernv machine
2026-05-23 16:27 [PULL 0/5] PPC Queue for 2026-05-23 Harsh Prateek Bora
` (2 preceding siblings ...)
2026-05-23 16:27 ` [PULL 3/5] target/ppc/kvm: Fix const violation when trimming CPU alias suffix Harsh Prateek Bora
@ 2026-05-23 16:27 ` Harsh Prateek Bora
2026-05-23 16:27 ` [PULL 5/5] ppc/spapr: Make Power11 as default cpu for pseries Harsh Prateek Bora
2026-05-26 14:58 ` [PULL 0/5] PPC Queue for 2026-05-23 Stefan Hajnoczi
5 siblings, 0 replies; 7+ messages in thread
From: Harsh Prateek Bora @ 2026-05-23 16:27 UTC (permalink / raw)
To: qemu-devel; +Cc: Aditya Gupta, Amit Machhiwal, Misbah Anjum N
From: Aditya Gupta <adityag@linux.ibm.com>
With Power11 being the newest supported Power processor in QEMU, and
sufficiently tested, set powernv machine as an alias to powernv11
machine
Signed-off-by: Aditya Gupta <adityag@linux.ibm.com>
Reviewed-by: Amit Machhiwal <amachhiw@linux.ibm.com>
Tested-by: Amit Machhiwal <amachhiw@linux.ibm.com>
Tested-by: Misbah Anjum N <misanjum@linux.ibm.com>
Link: https://lore.kernel.org/qemu-devel/20260521200844.1449023-2-adityag@linux.ibm.com
[harshpb: corrected Amit's email for Tested-by tag]
Signed-off-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
---
hw/ppc/pnv.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c
index 6a45852174..8df697da94 100644
--- a/hw/ppc/pnv.c
+++ b/hw/ppc/pnv.c
@@ -3470,8 +3470,6 @@ static void pnv_machine_p10_common_class_init(ObjectClass *oc, const void *data)
mc->default_cpu_type = POWERPC_CPU_TYPE_NAME("power10_v2.0");
compat_props_add(mc->compat_props, phb_compat, G_N_ELEMENTS(phb_compat));
- mc->alias = "powernv";
-
pmc->compat = compat;
pmc->compat_size = sizeof(compat);
pmc->max_smt_threads = 4;
@@ -3548,6 +3546,8 @@ static void pnv_machine_power11_class_init(ObjectClass *oc, const void *data)
mc->desc = "IBM PowerNV (Non-Virtualized) Power11";
mc->default_cpu_type = POWERPC_CPU_TYPE_NAME("power11_v2.0");
+ mc->alias = "powernv";
+
object_class_property_add_bool(oc, "big-core",
pnv_machine_get_big_core,
pnv_machine_set_big_core);
--
2.52.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PULL 5/5] ppc/spapr: Make Power11 as default cpu for pseries
2026-05-23 16:27 [PULL 0/5] PPC Queue for 2026-05-23 Harsh Prateek Bora
` (3 preceding siblings ...)
2026-05-23 16:27 ` [PULL 4/5] ppc/pnv: Make PowerNV11 as the default powernv machine Harsh Prateek Bora
@ 2026-05-23 16:27 ` Harsh Prateek Bora
2026-05-26 14:58 ` [PULL 0/5] PPC Queue for 2026-05-23 Stefan Hajnoczi
5 siblings, 0 replies; 7+ messages in thread
From: Harsh Prateek Bora @ 2026-05-23 16:27 UTC (permalink / raw)
To: qemu-devel; +Cc: Aditya Gupta, Amit Machhiwal, Misbah Anjum N
From: Aditya Gupta <adityag@linux.ibm.com>
With Power11 being the newest supportied Power processor in QEMU, and
sufficiently tested, make Power11 as default CPU type for pseries
machine
Retain Power10 as default CPU for pseries-11.0 and older versions
Signed-off-by: Aditya Gupta <adityag@linux.ibm.com>
Reviewed-by: Amit Machhiwal <amachhiw@linux.ibm.com>
Tested-by: Amit Machhiwal <amachhiw@linux.ibm.com>
Tested-by: Misbah Anjum N <misanjum@linux.ibm.com>
Link: https://lore.kernel.org/qemu-devel/20260521200844.1449023-3-adityag@linux.ibm.com
[harshpb: commit title, Amit's email updated]
Signed-off-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
---
hw/ppc/spapr.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index d40af312fa..191f7431bd 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -4644,7 +4644,7 @@ static void spapr_machine_class_init(ObjectClass *oc, const void *data)
hc->unplug_request = spapr_machine_device_unplug_request;
hc->unplug = spapr_machine_device_unplug;
- mc->default_cpu_type = POWERPC_CPU_TYPE_NAME("power10_v2.0");
+ mc->default_cpu_type = POWERPC_CPU_TYPE_NAME("power11_v2.0");
mc->has_hotpluggable_cpus = true;
mc->nvdimm_supported = true;
smc->resize_hpt_default = SPAPR_RESIZE_HPT_ENABLED;
@@ -4777,6 +4777,7 @@ static void spapr_machine_11_0_class_options(MachineClass *mc)
{
spapr_machine_11_1_class_options(mc);
compat_props_add(mc->compat_props, hw_compat_11_0, hw_compat_11_0_len);
+ mc->default_cpu_type = POWERPC_CPU_TYPE_NAME("power10_v2.0");
}
DEFINE_SPAPR_MACHINE(11, 0);
--
2.52.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PULL 0/5] PPC Queue for 2026-05-23
2026-05-23 16:27 [PULL 0/5] PPC Queue for 2026-05-23 Harsh Prateek Bora
` (4 preceding siblings ...)
2026-05-23 16:27 ` [PULL 5/5] ppc/spapr: Make Power11 as default cpu for pseries Harsh Prateek Bora
@ 2026-05-26 14:58 ` Stefan Hajnoczi
5 siblings, 0 replies; 7+ messages in thread
From: Stefan Hajnoczi @ 2026-05-26 14:58 UTC (permalink / raw)
To: Harsh Prateek Bora; +Cc: qemu-devel
[-- Attachment #1: Type: text/plain, Size: 116 bytes --]
Applied, thanks.
Please update the changelog at https://wiki.qemu.org/ChangeLog/11.1 for any user-visible changes.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2026-05-26 14:59 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-23 16:27 [PULL 0/5] PPC Queue for 2026-05-23 Harsh Prateek Bora
2026-05-23 16:27 ` [PULL 1/5] ppc/spapr: Skip system reset for quiesced CPUs Harsh Prateek Bora
2026-05-23 16:27 ` [PULL 2/5] ppc/pnv: Fix uninitialized MpiplProcDumpArea struct Harsh Prateek Bora
2026-05-23 16:27 ` [PULL 3/5] target/ppc/kvm: Fix const violation when trimming CPU alias suffix Harsh Prateek Bora
2026-05-23 16:27 ` [PULL 4/5] ppc/pnv: Make PowerNV11 as the default powernv machine Harsh Prateek Bora
2026-05-23 16:27 ` [PULL 5/5] ppc/spapr: Make Power11 as default cpu for pseries Harsh Prateek Bora
2026-05-26 14:58 ` [PULL 0/5] PPC Queue for 2026-05-23 Stefan Hajnoczi
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.