Whenever we reach this point via KVM or TCG, we already verified that we are running in the supervisor state.
TCG checks this via IF_PRIV, KVM checks this directly in the diag instruction handler, before exiting to userspace. Acked-by: Janosch Frank <fran...@linux.ibm.com> Signed-off-by: David Hildenbrand <da...@redhat.com> --- target/s390x/diag.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/target/s390x/diag.c b/target/s390x/diag.c index 1a48429564..be70aecd72 100644 --- a/target/s390x/diag.c +++ b/target/s390x/diag.c @@ -80,11 +80,6 @@ void handle_diag_308(CPUS390XState *env, uint64_t r1, uint64_t r3, uintptr_t ra) uint64_t subcode = env->regs[r3]; IplParameterBlock *iplb; - if (env->psw.mask & PSW_MASK_PSTATE) { - s390_program_interrupt(env, PGM_PRIVILEGED, ra); - return; - } - if (subcode & ~0x0ffffULL) { s390_program_interrupt(env, PGM_SPECIFICATION, ra); return; -- 2.26.2