xref: /kvm-unit-tests/lib/s390x/fault.h (revision 7b2e41767bb8caf91972ee32e4ca85ec630584e2)
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /*
3  * Headers for fault.c
4  *
5  * Copyright 2021 IBM Corp.
6  *
7  * Authors:
8  *    Janosch Frank <frankja@linux.ibm.com>
9  */
10 #ifndef _S390X_FAULT_H_
11 #define _S390X_FAULT_H_
12 
13 #include <bitops.h>
14 #include <asm/facility.h>
15 #include <asm/interrupt.h>
16 
17 /* Instruction execution prevention, i.e. no-execute, 101 */
prot_is_iep(union teid teid)18 static inline bool prot_is_iep(union teid teid)
19 {
20 	if (!test_facility(130))
21 		return false;
22 	/* IEP installed -> ESOP2 installed */
23 	return teid_esop2_prot_code(teid) == PROT_IEP;
24 }
25 
26 void print_decode_teid(uint64_t teid);
27 
28 #endif /* _S390X_FAULT_H_ */
29