On Tue, 9 Mar 2021 13:51:11 +0100 Pierre Morel <pmorel@xxxxxxxxxxxxx> wrote: > We tests the update of the Mesurement Block (MB) format 0 > and format 1 using a serie of senseid requests. > > *Warning*: One of the tests for format-1 will unexpectedly fail for QEMU elf > unless the QEMU patch "css: SCHIB measurement block origin must be aligned" > is applied. That one has hit QEMU master by now. > With Protected Virtualization, the PGM is correctly recognized. > > The MB format 1 is only provided if the Extended mesurement Block > feature is available. > > This feature is exposed by the CSS characteristics general features > stored by the Store Channel Subsystem Characteristics CHSC command, > consequently, we implement the CHSC instruction call and the SCSC CHSC > command. > > In order to ease the writing of new tests using: > - interrupt > - enablement of a subchannel > - multiple I/O on a subchannel > > We do the following simplifications: > - we create a CSS initialization routine > - we register the I/O interrupt handler on CSS initialization > - we do not enable or disable a subchannel in the senseid test, > assuming this test is done after the enable test, this allows > to create traffic using the SSCH used by senseid. > - failures not part of the feature under test will stop the tests. > - we add a css_enabled() function to test if a subchannel is enabled. > > *note*: > I rearranged the use of the senseid for the tests, by not modifying > the existing test and having a dedicated senseid() function for > the purpose of the tests. > I think that it is in the rigght way so I kept the RB and ACK on > the simplification, there are less changes, if it is wrong from me > I suppose I will see this in the comments. > Since the changed are moved inside the fmt0 test which is not approved > for now I hope it is OK. I'll double-check, but I think it should be ok. > > Regards, > Pierre > > Pierre Morel (6): > s390x: css: Store CSS Characteristics > s390x: css: simplifications of the tests > s390x: css: extending the subchannel modifying functions > s390x: css: implementing Set CHannel Monitor > s390x: css: testing measurement block format 0 > s390x: css: testing measurement block format 1 > > lib/s390x/css.h | 115 ++++++++++++++++++++- > lib/s390x/css_lib.c | 236 ++++++++++++++++++++++++++++++++++++++++---- > s390x/css.c | 216 ++++++++++++++++++++++++++++++++++++++-- > 3 files changed, 540 insertions(+), 27 deletions(-) >