#include #include #include int main() { int orig = __dios_get_fault_config( _VM_F_Memory ); int ret = __dios_configure_fault( _VM_F_Memory, _DiOS_FC_NoFail ); assert( ret == _DiOS_FC_EInvalidCfg ); assert( orig == __dios_get_fault_config( _VM_F_Memory ) ); ret = __dios_configure_fault( _VM_F_Memory, _DiOS_FC_SimFail ); assert( ret == _DiOS_FC_EInvalidCfg ); assert( orig == __dios_get_fault_config( _VM_F_Memory ) ); int pre = __dios_get_fault_config( _VM_F_Memory ); ret = __dios_configure_fault( _VM_F_Memory, _DiOS_FC_Ignore ); __dios_trace_f( "%d %d", pre, ret); assert( ret == pre ); int *a = NULL; *a = 42; pre = __dios_get_fault_config( _VM_F_Memory ); ret = __dios_configure_fault( _VM_F_Memory, _DiOS_FC_Report ); assert( ret == pre ); int *b = NULL; *b = 42; /* ERROR */ }