aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-s390/s390_ext.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-s390/s390_ext.h')
-rw-r--r--include/asm-s390/s390_ext.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/include/asm-s390/s390_ext.h b/include/asm-s390/s390_ext.h
new file mode 100644
index 000000000000..e9a2862b230d
--- /dev/null
+++ b/include/asm-s390/s390_ext.h
@@ -0,0 +1,34 @@
1#ifndef _S390_EXTINT_H
2#define _S390_EXTINT_H
3
4/*
5 * include/asm-s390/s390_ext.h
6 *
7 * S390 version
8 * Copyright (C) 1999,2000 IBM Deutschland Entwicklung GmbH, IBM Corporation
9 * Author(s): Holger Smolinski (Holger.Smolinski@de.ibm.com),
10 * Martin Schwidefsky (schwidefsky@de.ibm.com)
11 */
12
13typedef void (*ext_int_handler_t)(struct pt_regs *regs, __u16 code);
14
15/*
16 * Warning: if you change ext_int_info_t you have to change the
17 * external interrupt handler in entry.S too.
18 */
19typedef struct ext_int_info_t {
20 struct ext_int_info_t *next;
21 ext_int_handler_t handler;
22 __u16 code;
23} __attribute__ ((packed)) ext_int_info_t;
24
25extern ext_int_info_t *ext_int_hash[];
26
27int register_external_interrupt(__u16 code, ext_int_handler_t handler);
28int register_early_external_interrupt(__u16 code, ext_int_handler_t handler,
29 ext_int_info_t *info);
30int unregister_external_interrupt(__u16 code, ext_int_handler_t handler);
31int unregister_early_external_interrupt(__u16 code, ext_int_handler_t handler,
32 ext_int_info_t *info);
33
34#endif