On 03/05/2018 04:27 PM, Cornelia Huck wrote: > On Fri, 2 Mar 2018 10:44:46 +0100 > Christian Borntraeger <borntrae...@de.ibm.com> wrote: > >> On 02/23/2018 06:42 PM, Claudio Imbrenda wrote: >>> Extend the SCLP event masks to 64 bits. >>> >>> Notice that using any of the new bits results in a state that cannot be >>> migrated to an older version. >>> >>> Signed-off-by: Claudio Imbrenda <imbre...@linux.vnet.ibm.com> >>> --- >>> hw/s390x/event-facility.c | 56 >>> ++++++++++++++++++++++++++++++--------- >>> include/hw/s390x/event-facility.h | 2 +- >>> 2 files changed, 45 insertions(+), 13 deletions(-) >>> >>> diff --git a/hw/s390x/event-facility.c b/hw/s390x/event-facility.c >>> index e04ed9f..c3e39ee 100644 >>> --- a/hw/s390x/event-facility.c >>> +++ b/hw/s390x/event-facility.c >>> @@ -30,7 +30,7 @@ struct SCLPEventFacility { >>> SysBusDevice parent_obj; >>> SCLPEventsBus sbus; >>> /* guest's receive mask */ >>> - sccb_mask_t receive_mask; >>> + uint32_t receive_mask_pieces[2]; >> >> >> Before the change, we basically use be32_to_cpu to transfer the byte field >> into a cpu >> endianess value. In the end it is actually a bitfield, but for compat we >> need to keep >> he reversal. So it will be hard to get this fixed without some kind of >> ugliness. > > Could we also use a compat mask callback/handler for older machines and > switch to 64 bit handlers for the default case? Probably would be even > more ugly, though.
Claudio had a version with a pre/post/load/save handler. Claudio can you repost this version so that we can have a look what is "less ugly"?