[PATCH] ppc/spapr: fix default cpu for pre-10.0 machines.

Harsh Prateek Bora posted 1 patch 3 weeks ago
hw/ppc/spapr.c | 1 +
1 file changed, 1 insertion(+)
[PATCH] ppc/spapr: fix default cpu for pre-10.0 machines.
Posted by Harsh Prateek Bora 3 weeks ago
When POWER10 CPU was made as default, we missed keeping POWER9 as
default for older pseries releases (pre-10.0) at that time.
This caused breakge in default cpu evaluation for older pseries
machines and hence this fix.

Fixes: 51113013f3 ("ppc/spapr: change pseries machine default to POWER10 CPU")
Signed-off-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
---
 hw/ppc/spapr.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index c15340a58d..b31a91e2e2 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -4748,6 +4748,7 @@ static void spapr_machine_9_2_class_options(MachineClass *mc)
 {
     spapr_machine_10_0_class_options(mc);
     compat_props_add(mc->compat_props, hw_compat_9_2, hw_compat_9_2_len);
+    mc->default_cpu_type = POWERPC_CPU_TYPE_NAME("power9_v2.2");
 }
 
 DEFINE_SPAPR_MACHINE(9, 2);
-- 
2.43.5
Re: [PATCH] ppc/spapr: fix default cpu for pre-10.0 machines.
Posted by Daniel P. Berrangé 2 weeks, 6 days ago
On Wed, Mar 12, 2025 at 11:28:04AM +0530, Harsh Prateek Bora wrote:
> When POWER10 CPU was made as default, we missed keeping POWER9 as
> default for older pseries releases (pre-10.0) at that time.
> This caused breakge in default cpu evaluation for older pseries
> machines and hence this fix.
> 
> Fixes: 51113013f3 ("ppc/spapr: change pseries machine default to POWER10 CPU")
> Signed-off-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
> ---
>  hw/ppc/spapr.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
> index c15340a58d..b31a91e2e2 100644
> --- a/hw/ppc/spapr.c
> +++ b/hw/ppc/spapr.c
> @@ -4748,6 +4748,7 @@ static void spapr_machine_9_2_class_options(MachineClass *mc)
>  {
>      spapr_machine_10_0_class_options(mc);
>      compat_props_add(mc->compat_props, hw_compat_9_2, hw_compat_9_2_len);
> +    mc->default_cpu_type = POWERPC_CPU_TYPE_NAME("power9_v2.2");
>  }

This doesn't make sense.

AFAICT, the commit 51113013f3 was introduced in the QEMU 9.0.0 release,
so it is correct that every machine from pseries-9.0 and newer had the
POWER10 CPU model.

What broke were the machines that already existed prior to the
9.0.0 release, whose default CPU got changed.  IOW, the pseries-8.2
and earlier machines.


With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|
Re: [PATCH] ppc/spapr: fix default cpu for pre-10.0 machines.
Posted by Harsh Prateek Bora 2 weeks, 6 days ago

On 3/13/25 15:02, Daniel P. Berrangé wrote:
> On Wed, Mar 12, 2025 at 11:28:04AM +0530, Harsh Prateek Bora wrote:
>> When POWER10 CPU was made as default, we missed keeping POWER9 as
>> default for older pseries releases (pre-10.0) at that time.
>> This caused breakge in default cpu evaluation for older pseries
>> machines and hence this fix.
>>
>> Fixes: 51113013f3 ("ppc/spapr: change pseries machine default to POWER10 CPU")
>> Signed-off-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
>> ---
>>   hw/ppc/spapr.c | 1 +
>>   1 file changed, 1 insertion(+)
>>
>> diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
>> index c15340a58d..b31a91e2e2 100644
>> --- a/hw/ppc/spapr.c
>> +++ b/hw/ppc/spapr.c
>> @@ -4748,6 +4748,7 @@ static void spapr_machine_9_2_class_options(MachineClass *mc)
>>   {
>>       spapr_machine_10_0_class_options(mc);
>>       compat_props_add(mc->compat_props, hw_compat_9_2, hw_compat_9_2_len);
>> +    mc->default_cpu_type = POWERPC_CPU_TYPE_NAME("power9_v2.2");
>>   }
> 
> This doesn't make sense.
> 
> AFAICT, the commit 51113013f3 was introduced in the QEMU 9.0.0 release,
> so it is correct that every machine from pseries-9.0 and newer had the
> POWER10 CPU model.
> 
> What broke were the machines that already existed prior to the
> 9.0.0 release, whose default CPU got changed.  IOW, the pseries-8.2
> and earlier machines.

Thanks Daniel for catching this.
I should have checked using git tags. I have posted v2 here:

https://lore.kernel.org/qemu-devel/20250313094705.2361997-1-harshpb@linux.ibm.com/T/#u

regards,
Harsh

> 
> 
> With regards,
> Daniel

Re: [PATCH] ppc/spapr: fix default cpu for pre-10.0 machines.
Posted by Philippe Mathieu-Daudé 3 weeks ago
On 12/3/25 06:58, Harsh Prateek Bora wrote:
> When POWER10 CPU was made as default, we missed keeping POWER9 as
> default for older pseries releases (pre-10.0) at that time.
> This caused breakge in default cpu evaluation for older pseries
> machines and hence this fix.
> 

Should we also include:

   Cc: qemu-stable@nongnu.org

?

> Fixes: 51113013f3 ("ppc/spapr: change pseries machine default to POWER10 CPU")
> Signed-off-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
> ---
>   hw/ppc/spapr.c | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
> index c15340a58d..b31a91e2e2 100644
> --- a/hw/ppc/spapr.c
> +++ b/hw/ppc/spapr.c
> @@ -4748,6 +4748,7 @@ static void spapr_machine_9_2_class_options(MachineClass *mc)
>   {
>       spapr_machine_10_0_class_options(mc);
>       compat_props_add(mc->compat_props, hw_compat_9_2, hw_compat_9_2_len);
> +    mc->default_cpu_type = POWERPC_CPU_TYPE_NAME("power9_v2.2");

This is confusing because v9.2 has already been released with that...

>   }
>   
>   DEFINE_SPAPR_MACHINE(9, 2);
Re: [PATCH] ppc/spapr: fix default cpu for pre-10.0 machines.
Posted by Harsh Prateek Bora 3 weeks ago

On 3/12/25 15:39, Philippe Mathieu-Daudé wrote:
> On 12/3/25 06:58, Harsh Prateek Bora wrote:
>> When POWER10 CPU was made as default, we missed keeping POWER9 as
>> default for older pseries releases (pre-10.0) at that time.
>> This caused breakge in default cpu evaluation for older pseries
>> machines and hence this fix.
>>
> 
> Should we also include:
> 
>    Cc: qemu-stable@nongnu.org
> 
> ?
> 

I guess so. Not sure if we need a patch v2 for just that.

>> Fixes: 51113013f3 ("ppc/spapr: change pseries machine default to 
>> POWER10 CPU")
>> Signed-off-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
>> ---
>>   hw/ppc/spapr.c | 1 +
>>   1 file changed, 1 insertion(+)
>>
>> diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
>> index c15340a58d..b31a91e2e2 100644
>> --- a/hw/ppc/spapr.c
>> +++ b/hw/ppc/spapr.c
>> @@ -4748,6 +4748,7 @@ static void 
>> spapr_machine_9_2_class_options(MachineClass *mc)
>>   {
>>       spapr_machine_10_0_class_options(mc);
>>       compat_props_add(mc->compat_props, hw_compat_9_2, 
>> hw_compat_9_2_len);
>> +    mc->default_cpu_type = POWERPC_CPU_TYPE_NAME("power9_v2.2");
> 
> This is confusing because v9.2 has already been released with that...

I think it still needs to be fixed for v9.2 (and older) if someone wants 
to use pseries-9.2 (and older) with future releases.

Thanks
Harsh

> 
>>   }
>>   DEFINE_SPAPR_MACHINE(9, 2);
> 
> 

Re: [PATCH] ppc/spapr: fix default cpu for pre-10.0 machines.
Posted by Harsh Prateek Bora 2 weeks, 6 days ago

On 3/12/25 15:50, Harsh Prateek Bora wrote:
> 
> 
> On 3/12/25 15:39, Philippe Mathieu-Daudé wrote:
>> On 12/3/25 06:58, Harsh Prateek Bora wrote:
>>> When POWER10 CPU was made as default, we missed keeping POWER9 as
>>> default for older pseries releases (pre-10.0) at that time.
>>> This caused breakge in default cpu evaluation for older pseries
>>> machines and hence this fix.
>>>
>>
>> Should we also include:
>>
>>    Cc: qemu-stable@nongnu.org
>>
>> ?
>>
> 
> I guess so. Not sure if we need a patch v2 for just that.
> 
>>> Fixes: 51113013f3 ("ppc/spapr: change pseries machine default to 
>>> POWER10 CPU")
>>> Signed-off-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
>>> ---
>>>   hw/ppc/spapr.c | 1 +
>>>   1 file changed, 1 insertion(+)
>>>
>>> diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
>>> index c15340a58d..b31a91e2e2 100644
>>> --- a/hw/ppc/spapr.c
>>> +++ b/hw/ppc/spapr.c
>>> @@ -4748,6 +4748,7 @@ static void 
>>> spapr_machine_9_2_class_options(MachineClass *mc)
>>>   {
>>>       spapr_machine_10_0_class_options(mc);
>>>       compat_props_add(mc->compat_props, hw_compat_9_2, 
>>> hw_compat_9_2_len);
>>> +    mc->default_cpu_type = POWERPC_CPU_TYPE_NAME("power9_v2.2");
>>
>> This is confusing because v9.2 has already been released with that...
> 
> I think it still needs to be fixed for v9.2 (and older) if someone wants 
> to use pseries-9.2 (and older) with future releases.

Gave it another thought. May be moving the default to v9.1 could be
relatively better. 9.2 stable shall get the fix for pre-9.2 but 9.2
default need not change.

Nick, Daniel, comments?

Thanks
Harsh
> 
> Thanks
> Harsh
> 
>>
>>>   }
>>>   DEFINE_SPAPR_MACHINE(9, 2);
>>
>>
>