Re: [kvm-unit-tests PATCH v2 4/5] s390x: css: testing measurement block format 0

Pierre Morel
2021-02-12T16:00:47Z

On 2/12/21 12:12 PM, Cornelia Huck wrote:
> On Wed, 10 Feb 2021 14:20:13 +0100
> Pierre Morel <pmorel@linux.ibm.com> wrote:
>
>> We tests the update of the mesurement block format 0, the
>
> s/tests/test/
> s/mesurement/measurement/

hum, yes :(

>
>> mesurement block origin is calculated from the mbo argument
>> used by the SCHM instruction and the offset calculated using
>> the measurement block index of the SCHIB.
>>
>> Signed-off-by: Pierre Morel <pmorel@linux.ibm.com>
>> ---
>> lib/s390x/css.h | 14 +++++++++++++
>> s390x/css.c | 55 +++++++++++++++++++++++++++++++++++++++++++++++++
>> 2 files changed, 69 insertions(+)
>>
>
> (...)
>
>> +static void test_schm_fmt0(void)
>> +{
>> + struct measurement_block_format0 *mb0;
>> +
>> + report_prefix_push("Format 0");
>> +
>> + mb0 = alloc_io_mem(sizeof(struct measurement_block_format0), 0);
>> + if (!mb0) {
>> + report_abort("measurement_block_format0 allocation failed");
>> + goto end;
>> + }
>> +
>> + schm(NULL, 0); /* Clear previous MB address */
>
> I think it would be better to clean out the mb after a particular test
> has run, so that the following tests can start with a clean slate.

The allocation includes zeroing the memory.
and I do a memset(mb, 0...) after the failed test.

Is there something else to clear?

>
>> + schm(mb0, SCHM_MBU);
>>
>> + /* Expect error for non aligned MB */
>> + report_prefix_push("Unaligned MB index");
>> + report_xfail(start_measure(0, 0x01, false), mb0->ssch_rsch_count != 0,
>> + "SSCH measured %d", mb0->ssch_rsch_count);
>> + report_prefix_pop();
>> +
>> + memset(mb0, 0, sizeof(*mb0));
>> +
>> + /* Expect success */
>> + report_prefix_push("Valid MB address and index");
>> + report(start_measure(0, 0, false) &&
>> + mb0->ssch_rsch_count == SCHM_UPDATE_CNT,
>> + "SSCH measured %d", mb0->ssch_rsch_count);
>> + report_prefix_pop();
>> +
>> + free_io_mem(mb0, sizeof(struct measurement_block_format0));
>
> Before you free the memory, you really need to stop measurements
> again... even though nothing happens right now, because you're not doing
> I/O after this point.

Yes, it is cleaner.

Thanks, pierre

--
Pierre Morel
IBM Lab Boeblingen