All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.