diff options
Diffstat (limited to 'arch/um/kernel/trap_kern.c')
-rw-r--r-- | arch/um/kernel/trap_kern.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/arch/um/kernel/trap_kern.c b/arch/um/kernel/trap_kern.c index 0d4c10a73607..b79f805bdc00 100644 --- a/arch/um/kernel/trap_kern.c +++ b/arch/um/kernel/trap_kern.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (C) 2000, 2001 Jeff Dike (jdike@karaya.com) | 2 | * Copyright (C) 2000, 2001 Jeff Dike (jdike@karaya.com) |
3 | * Licensed under the GPL | 3 | * Licensed under the GPL |
4 | */ | 4 | */ |
@@ -29,6 +29,7 @@ | |||
29 | #ifdef CONFIG_MODE_SKAS | 29 | #ifdef CONFIG_MODE_SKAS |
30 | #include "skas.h" | 30 | #include "skas.h" |
31 | #endif | 31 | #endif |
32 | #include "os.h" | ||
32 | 33 | ||
33 | /* Note this is constrained to return 0, -EFAULT, -EACCESS, -ENOMEM by segv(). */ | 34 | /* Note this is constrained to return 0, -EFAULT, -EACCESS, -ENOMEM by segv(). */ |
34 | int handle_page_fault(unsigned long address, unsigned long ip, | 35 | int handle_page_fault(unsigned long address, unsigned long ip, |
@@ -125,6 +126,14 @@ out_of_memory: | |||
125 | goto out; | 126 | goto out; |
126 | } | 127 | } |
127 | 128 | ||
129 | struct kern_handlers handlinfo_kern = { | ||
130 | .relay_signal = relay_signal, | ||
131 | .winch = winch, | ||
132 | .bus_handler = relay_signal, | ||
133 | .page_fault = segv_handler, | ||
134 | .sigio_handler = sigio_handler, | ||
135 | .timer_handler = timer_handler | ||
136 | }; | ||
128 | /* | 137 | /* |
129 | * We give a *copy* of the faultinfo in the regs to segv. | 138 | * We give a *copy* of the faultinfo in the regs to segv. |
130 | * This must be done, since nesting SEGVs could overwrite | 139 | * This must be done, since nesting SEGVs could overwrite |