s390x/event-facility: fix location of receive mask

For read event mask, we assumed that the layout of the sccb was

|sccb header|event buffer header|receive mask|...|

The correct layout, however, is

|sccb header|receive mask|...|

as in-buffer and

|sccb header|event buffer header|...|

as out-buffer.

Fix this: This makes selective read work.

Reviewed-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
master
Cornelia Huck 2015-07-27 16:55:23 +02:00
parent 6b7741c2be
commit f7822aa8b6
1 changed files with 4 additions and 2 deletions

View File

@ -146,8 +146,10 @@ typedef struct WriteEventData {
typedef struct ReadEventData {
SCCBHeader h;
EventBufferHeader ebh;
uint32_t mask;
union {
uint32_t mask;
EventBufferHeader ebh;
};
} QEMU_PACKED ReadEventData;
typedef struct SCLPEvent {