On Wed, 7 Apr 2021 12:07:13 +0200 Pierre Morel <pmorel@xxxxxxxxxxxxx> wrote: > On 4/6/21 5:51 PM, Cornelia Huck wrote: > > On Tue, 6 Apr 2021 09:40:49 +0200 > > Pierre Morel <pmorel@xxxxxxxxxxxxx> wrote: > > > >> Several bits of the ORB are reserved and must be zero. > >> Their use will trigger a operand exception. > >> > >> Signed-off-by: Pierre Morel <pmorel@xxxxxxxxxxxxx> > >> --- > >> s390x/css.c | 21 +++++++++++++++++++++ > >> 1 file changed, 21 insertions(+) > >> > >> diff --git a/s390x/css.c b/s390x/css.c > >> index 56adc16..26f5da6 100644 > >> --- a/s390x/css.c > >> +++ b/s390x/css.c > >> @@ -209,6 +209,26 @@ static void ssch_orb_midaw(void) > >> orb->ctrl = tmp; > >> } > >> > >> +static void ssch_orb_ctrl(void) > >> +{ > >> + uint32_t tmp = orb->ctrl; > >> + char buffer[80]; > >> + int i; > >> + > >> + /* Check the reserved bits of the ORB CTRL field */ > >> + for (i = 26; i <= 30; i++) { > > > > This looks very magic; can we get some defines? > > OK, I can use something like ORB_FIRST_RESERVED_BIT - ORB_LAST_RESERVED_BIT Yep, something like that.