s390/zcrypt: support special flagged EP11 cprbs
Within an EP11 cprb there exists a byte field flags. Bit 0x20 of this field indicates a special cprb. A special cprb triggers special handling in the firmware below the OS layer. However, a special cprb also needs to have the S bit in GPR0 set when NQAP is called. This was not the case for EP11 cprbs and this patch now introduces the code to support this. Signed-off-by: Harald Freudenberger <freude@linux.ibm.com> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
This commit is contained in:
parent
bae0aae2f8
commit
e1ab11012e
|
@ -567,6 +567,10 @@ static int xcrb_msg_to_type6_ep11cprb_msgx(struct ap_message *ap_msg,
|
||||||
payload_hdr = (struct pld_hdr *)((&(msg->pld_lenfmt))+lfmt);
|
payload_hdr = (struct pld_hdr *)((&(msg->pld_lenfmt))+lfmt);
|
||||||
*fcode = payload_hdr->func_val & 0xFFFF;
|
*fcode = payload_hdr->func_val & 0xFFFF;
|
||||||
|
|
||||||
|
/* enable special processing based on the cprbs flags special bit */
|
||||||
|
if (msg->cprbx.flags & 0x20)
|
||||||
|
ap_msg->special = 1;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue