xref: /minix/minix/lib/libsys/sef_fi.c (revision 08cbf5a0)
1 
2 #include "syslib.h"
3 #include <assert.h>
4 #include <minix/sysutil.h>
5 
6 EXTERN __attribute__((weak)) int edfi_ctl_process_request(void *ctl_request);
7 
8 EXTERN int do_sef_fi_request(message *m_ptr);
9 
10 EXTERN int sef_controlled_crash;
11 
12 /*===========================================================================*
13  *                            do_sef_fi_request             		     *
14  *===========================================================================*/
15 int do_sef_fi_request(message *m_ptr)
16 {
17     /* See if we are simply asked to crash. */
18     if (m_ptr->m_lsys_fi_ctl.subtype == RS_FI_CRASH) {
19         sef_controlled_crash = TRUE;
20         panic("Crash!");
21     }
22 
23 #if SEF_FI_ALLOW_EDFI
24     /* Forward the request to the EDFI fault injector, if linked in. */
25     if(edfi_ctl_process_request)
26         return edfi_ctl_process_request(m_ptr);
27 #endif
28 
29     return ENOSYS;
30 }
31 
32