Re: [kvm-unit-tests PATCH v1] s390x: verify EQBS/SQBS is unavailable

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

 



Quoting Claudio Imbrenda (2022-08-02 18:14:20)
[...]
> > diff --git a/s390x/intercept.c b/s390x/intercept.c
> > index 9e826b6c79ad..73b06b5fc6e8 100644
> > --- a/s390x/intercept.c
> > +++ b/s390x/intercept.c
> > @@ -197,6 +197,55 @@ static void test_diag318(void)
> >  
> >  }
> >  
> > +static inline int sqbs(u64 token)
> > +{
> > +     unsigned long _token = token;
> > +     int cc;
> > +
> > +     asm volatile(
> > +             "       lgr 1,%[token]\n"
> > +             "       .insn   rsy,0xeb000000008a,0,0,0(0)\n"
> > +             "       ipm %[cc]\n"
> > +             "       srl %[cc],28\n"
> > +             : [cc] "=&d" (cc)
> 
> do you really need all those extra things?
> 
> can't you just reduce this whole function to:
> 
> asm volatile("  .insn   rsy,0xeb000000008a,0,0,0(0)\n");
> 
> in the end we don't care what happens, we only want it to fail with an
> operation exception
> 
> (ok maybe you need to add some clobbers to make sure things work as
> they should in case the instruction is actually executed)

I don't mind changing that, will do.

[...]
> > +static void test_qbs(void)
> > +{
> > +     report_prefix_push("sqbs");
> > +     expect_pgm_int();
> > +     sqbs(0xffffffdeadbeefULL);
> > +     check_pgm_int_code(PGM_INT_CODE_OPERATION);
> > +     report_prefix_pop();
> > +
> > +     report_prefix_push("eqbs");
> > +     expect_pgm_int();
> > +     eqbs(0xffffffdeadbeefULL);
> > +     check_pgm_int_code(PGM_INT_CODE_OPERATION);
> > +     report_prefix_pop();
> > +}
> 
> we expect those to fail only in qemu, right?
> maybe this should be fenced and skip the tests when running in other
> environments

OK will do.




[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