xref: /kvm-unit-tests/lib/s390x/asm/interrupt.h (revision b3a7cfdc37fdd034286ee079b6b8ec3dea5fce9c)
1 /*
2  * Copyright (c) 2017 Red Hat Inc
3  *
4  * Authors:
5  *  David Hildenbrand <david@redhat.com>
6  *
7  * This code is free software; you can redistribute it and/or modify it
8  * under the terms of the GNU Library General Public License version 2.
9  */
10 #ifndef _ASMS390X_IRQ_H_
11 #define _ASMS390X_IRQ_H_
12 #include <asm/arch_def.h>
13 
14 void handle_pgm_int(void);
15 void handle_ext_int(void);
16 void handle_mcck_int(void);
17 void handle_io_int(void);
18 void handle_svc_int(void);
19 void expect_pgm_int(void);
20 uint16_t clear_pgm_int(void);
21 void check_pgm_int_code(uint16_t code);
22 
23 /* Activate low-address protection */
24 static inline void low_prot_enable(void)
25 {
26 	ctl_set_bit(0, 63 - 35);
27 }
28 
29 /* Disable low-address protection */
30 static inline void low_prot_disable(void)
31 {
32 	ctl_clear_bit(0, 63 - 35);
33 }
34 
35 #endif
36