sef: Add fault injection (and EDFI) support.

This commit is contained in:
Cristiano Giuffrida
2014-06-12 17:08:31 +02:00
committed by Lionel Sambuc
parent 9f6977d22d
commit d9cd49c332
7 changed files with 75 additions and 3 deletions

View File

@@ -646,6 +646,9 @@
# define GCOV_BUFF_P m1_p1
# define GCOV_BUFF_SZ m1_i1
/* Common fault injection ctl request to all processes. */
#define COMMON_REQ_FI_CTL (COMMON_RQ_BASE+2)
/*===========================================================================*
* Messages for VM server *
*===========================================================================*/

View File

@@ -691,6 +691,21 @@ typedef struct {
} mess_linputdriver_input_event;
_ASSERT_MSG_SIZE(mess_linputdriver_input_event);
typedef struct {
cp_grant_id_t gid;
size_t size;
uint8_t padding[48];
} mess_lsys_fi_ctl;
_ASSERT_MSG_SIZE(mess_lsys_fi_ctl);
typedef struct {
int status;
uint8_t padding[52];
} mess_lsys_fi_reply;
_ASSERT_MSG_SIZE(mess_lsys_fi_reply);
typedef struct {
int what;
vir_bytes where;
@@ -1795,6 +1810,8 @@ typedef struct {
mess_linputdriver_input_event m_linputdriver_input_event;
mess_lsys_getsysinfo m_lsys_getsysinfo;
mess_lsys_fi_ctl m_lsys_fi_ctl;
mess_lsys_fi_reply m_lsys_fi_reply;
mess_lsys_krn_schedctl m_lsys_krn_schedctl;
mess_lsys_krn_schedule m_lsys_krn_schedule;

View File

@@ -233,6 +233,17 @@ void sef_cb_signal_handler_posix_default(int signo);
#define sef_signal_debug_begin sef_debug_begin
#define sef_signal_debug_end sef_debug_end
/*===========================================================================*
* SEF Fault Injection *
*===========================================================================*/
/* What to intercept. */
#define INTERCEPT_SEF_FI_REQUESTS 1
#define IS_SEF_FI_REQUEST(mp, status) \
(m_ptr->m_type == COMMON_REQ_FI_CTL)
/* Fault injection tool support. */
#define SEF_FI_ALLOW_EDFI 1
#if !defined(USE_LIVEUPDATE)
#undef INTERCEPT_SEF_LU_REQUESTS
#undef SEF_LU_DEBUG