On Mon, 2026-05-11 at 17:48 +0200, Cédric Le Goater wrote:
> Hello,
> 
> On 5/6/26 15:55, Philippe Mathieu-Daudé wrote:
> > Introduce a source set common to system / user. Start it
> > with the files built in both sets: 'cpu_models_user.c'
> > and 'gdbstub.c' No logical change intended.
> > 
> > Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
> > Reviewed-by: Ilya Leoshkevich <[email protected]>
> > Message-Id: <[email protected]>
> 
> This change introduced a regression with PCI passthrough which
> stopped working. Guest kernel reports :
> 
>    [    0.156501] zpci: PCI is not supported because CPU facilities 69 or 71 
> are not available
> 
> and other devices (ap, ccw) are impacted too I think.
> 
> > ---
> >   target/s390x/meson.build | 25 +++++++++++++------------
> >   1 file changed, 13 insertions(+), 12 deletions(-)
> > 
> > diff --git a/target/s390x/meson.build b/target/s390x/meson.build
> > index 6f98ce34d73..44f58ac2919 100644
> > --- a/target/s390x/meson.build
> > +++ b/target/s390x/meson.build
> > @@ -1,4 +1,9 @@
> >   s390x_ss = ss.source_set()
> > +s390x_common_ss = ss.source_set()
> > +s390x_common_system_ss = ss.source_set()
> > +s390x_system_ss = ss.source_set()
> > +s390x_user_ss = ss.source_set()
> > +
> >   s390x_ss.add(files(
> >     'cpu.c',
> >     'cpu_features.c',
> > @@ -15,15 +20,16 @@ gen_features_h = custom_target('gen-features.h',
> >                                  capture: true,
> >                                  command: gen_features)
> >   
> > -s390x_ss.add(gen_features_h)
> > +s390x_common_ss.add(gen_features_h)
> > +s390x_common_ss.add(files(
> > +  'cpu_models_user.c',
> > +  'gdbstub.c',
> > +))
> >   
> > -s390x_system_ss = ss.source_set()
> >   s390x_system_ss.add(files(
> >     'ioinst.c',
> >   ))
> >   
> > -s390x_common_system_ss = ss.source_set()
> > -s390x_common_system_ss.add(gen_features_h)
> >   s390x_common_system_ss.add(files(
> >     'helper.c',
> >     'arch_dump.c',
> > @@ -32,19 +38,14 @@ s390x_common_system_ss.add(files(
> >     'mmu_helper.c',
> >     'sigp.c',
> >     'cpu-system.c',
> > -  'cpu_models_system.c',
> 
> This file is compiled anymore and the CPU features and facilities are
> not propagated to the guest anymore.
> 
> Without this patch, cpuinfo reports :
> 
>    features   : esan3 zarch stfle msa ldisp eimm dfp edat etf3eh highgprs te 
> vx vxd vxe gs vxe2 vxp sort dflt vxp2 nnpa
>    facilities      : 0 1 2 3 4 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 
> 23 24 25 26 27 28 30 31 32 33 34 35 36 37 38 40 41 42 43 44 45 47 48 49 50 51 
> 52 53 54 57 58 59 60 61 64 65 69 71 72 73 74 75 76 77 78 80 81 82 129 130 131 
> 133 134 135 138 139 140 146 147 148 150 151 152 155 156 165 192 193 194 196 
> 197
> 
> with :
> 
>    features   : esan3 zarch stfle msa ldisp eimm dfp edat etf3eh highgprs te 
> vx vxd vxe gs vxe2 vxp sort dflt vxp2
>    acilities      : 0 1 2 3 4 6 7 8 9 10 11 13 14 16 17 18 19 20 21 22 23 24 
> 25 26 27 28 30 31 32 33 34 35 36 37 38 40 41 42 43 44 45 46 47 48 49 50 51 52 
> 53 54 55 57 58 59 60 61 64 72 73 74 75 76 77 78 80 81 82 129 130 131 133 134 
> 135 138 139 146 147 148 150 151 152 155 192
> 

Thanks, Cedric... I wonder if the above is addressed by this patch? (I haven't 
checked yet, but will
do that now.)

https://lore.kernel.org/qemu-devel/[email protected]/

Thanks,
Eric

> 
> Thanks,
> 
> C.
> 
> 
> > -  'gdbstub.c',
> > -))
> > -
> > -s390x_user_ss = ss.source_set()
> > -s390x_user_ss.add(files(
> > -  'cpu_models_user.c',
> > -  'gdbstub.c',
> >   ))
> >   
> >   subdir('tcg')
> >   subdir('kvm')
> >   
> > +s390x_common_system_ss.add_all(s390x_common_ss)
> > +s390x_user_ss.add_all(s390x_common_ss)
> > +
> >   target_arch += {'s390x': s390x_ss}
> >   target_system_arch += {'s390x': s390x_system_ss}
> >   target_common_system_arch += {'s390x': s390x_common_system_ss}

Reply via email to