s390/ctl_reg: use decoding unions in update_cr_regs

Add a decoding union for the bits in control registers 2 and use
'union ctlreg0' and 'union ctlreg2' in update_cr_regs to improve
readability.

Reviewed-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Reviewed-by: Hendrik Brueckner <brueckner@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
Martin Schwidefsky
2017-10-12 13:24:45 +02:00
parent 00a8f886db
commit ad3bc0ac1d
4 changed files with 42 additions and 22 deletions

View File

@@ -107,6 +107,7 @@ EXPORT_SYMBOL_GPL(s390_handle_mcck);
*/
static int notrace s390_validate_registers(union mci mci, int umode)
{
union ctlreg2 cr2;
int kill_task;
u64 zero;
void *fpt_save_area;
@@ -231,7 +232,8 @@ static int notrace s390_validate_registers(union mci mci, int umode)
kill_task = 1;
}
/* Validate guarded storage registers */
if (MACHINE_HAS_GS && (S390_lowcore.cregs_save_area[2] & (1UL << 4))) {
cr2.val = S390_lowcore.cregs_save_area[2];
if (cr2.gse) {
if (!mci.gs)
/*
* Guarded storage register can't be restored and