Re: [kvm-unit-tests PATCH v3 6/8] s390x: Add more tests for STSCH

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 23 Feb 2022 18:33:17 +0100
Nico Boehr <nrb@xxxxxxxxxxxxx> wrote:

> On Wed, 2022-02-23 at 16:39 +0100, Janosch Frank wrote:
> > On 2/23/22 14:29, Nico Boehr wrote:  
> > >   
> [...]
> > >   
> > > +static void test_stsch(void)
> > > +{
> > >   
> [...]
> > > +       report_prefix_push("Bit 47 in SID is zero");
> > > +       expect_pgm_int();
> > > +       stsch(0x0000ffff, &schib);
> > > +       check_pgm_int_code(PGM_INT_CODE_OPERAND);
> > > +       report_prefix_pop();  
> > 
> > Add a comment:
> > No matter if the multiple-subchannel-set facility is installed or
> > not, 
> > bit 47 always needs to be 1.  
> 
> Will do.
> 
> > Do we have the MSS facility?  
> 
> Not an IO expert, but it seems like it's enabled by QEMU in pc-
> bios/s390-ccw/main.c, css_setup(). The comment suggests it's always
> there.
> 

AFAIR. The MSS facility is unconditionally implemented by QEMU thus
it is always indicated as installed, but lies dormant per default
and needs to be enabled.

The idea is that a non-enlightened OS would not enable the facility,
and thus effectively end up specifying zeros and using the
subchannel-set 0, and would observe no changes whatsoever compared
to running on a machine that does not have MSS facility installed.

Whether MSS is installed in some configuration or not can be detected
via the facility bit 47 of Store Channel-Subsystem Characteristics.

> > If yes, could we disable it to test the 32-47 == 0x0001 case?  
> 
> I see ioinst_handle_chsc_sda() in QEMU to enable it. Disabling only
> works with a full reset of the CSS (see css_reset()) which can be
> triggered from a subsystem_reset(), which basically means we need to
> IPL. I think that's not really viable or do you see any other way?
> 
> Halil, Pierre, can you confirm?

I don't think there is an other way, and there is usually no good reason
to attempt that. If your OS enables it is enlightened, and it won't
become non-enlightened. It is basically an opt-in. Eventually you may
want to IPL something different, and you are covered by the subsystem
reset.

The best way to test this would be to not enable the facility. I have
no idea if there is a way for a kvm-unit-test to accomplish that.

Regards,
Halil



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux