Re: [kvm-unit-tests PATCH v3 7/9] s390x: Add sthyi cc==0 r2+1 verification

Thomas Huth
2021-10-07T09:12:09Z

On 07/10/2021 10.50, Janosch Frank wrote:
> On success r2 + 1 should be 0, let's also check for that.
>
> Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
> Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
> ---
> s390x/sthyi.c | 20 +++++++++++---------
> 1 file changed, 11 insertions(+), 9 deletions(-)
>
> diff --git a/s390x/sthyi.c b/s390x/sthyi.c
> index db90b56f..4b153bf4 100644
> --- a/s390x/sthyi.c
> +++ b/s390x/sthyi.c
> @@ -24,16 +24,16 @@ static inline int sthyi(uint64_t vaddr, uint64_t fcode, uint64_t *rc,
> {
> register uint64_t code asm("0") = fcode;
> register uint64_t addr asm("2") = vaddr;
> - register uint64_t rc3 asm("3") = 0;
> + register uint64_t rc3 asm("3") = 42;
> int cc = 0;
>
> - asm volatile(".insn rre,0xB2560000,%[r1],%[r2]\n"
> - "ipm %[cc]\n"
> - "srl %[cc],28\n"
> - : [cc] "=d" (cc)
> - : [code] "d" (code), [addr] "a" (addr), [r1] "i" (r1),
> - [r2] "i" (r2)
> - : "memory", "cc", "r3");
> + asm volatile(
> + ".insn rre,0xB2560000,%[r1],%[r2]\n"
> + "ipm %[cc]\n"
> + "srl %[cc],28\n"
> + : [cc] "=d" (cc), "+d" (rc3)
> + : [code] "d" (code), [addr] "a" (addr), [r1] "i" (r1), [r2] "i" (r2)
> + : "memory", "cc");
> if (rc)
> *rc = rc3;
> return cc;
> @@ -139,16 +139,18 @@ static void test_fcode0(void)
> struct sthyi_hdr_sctn *hdr;
> struct sthyi_mach_sctn *mach;
> struct sthyi_par_sctn *par;
> + uint64_t rc = 42;
>
> /* Zero destination memory. */
> memset(pagebuf, 0, PAGE_SIZE);
>
> report_prefix_push("fcode 0");
> - sthyi((uint64_t)pagebuf, 0, NULL, 0, 2);
> + sthyi((uint64_t)pagebuf, 0, &rc, 0, 2);
> hdr = (void *)pagebuf;
> mach = (void *)pagebuf + hdr->INFMOFF;
> par = (void *)pagebuf + hdr->INFPOFF;
>
> + report(!rc, "r2 + 1 == 0");

Could you please check for "rc == CODE_SUCCES" (since we've got that for
this purpose)?

With that change:
Reviewed-by: Thomas Huth <thuth@redhat.com>