1 /* err.h --- handle errors for RX simulator. 2 3 Copyright (C) 2008-2024 Free Software Foundation, Inc. 4 Contributed by Red Hat, Inc. 5 6 This file is part of the GNU simulators. 7 8 This program is free software; you can redistribute it and/or modify 9 it under the terms of the GNU General Public License as published by 10 the Free Software Foundation; either version 3 of the License, or 11 (at your option) any later version. 12 13 This program is distributed in the hope that it will be useful, 14 but WITHOUT ANY WARRANTY; without even the implied warranty of 15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 GNU General Public License for more details. 17 18 You should have received a copy of the GNU General Public License 19 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 20 21 enum execution_error { 22 SIM_ERR_NONE, 23 SIM_ERR_READ_UNWRITTEN_PAGES, 24 SIM_ERR_READ_UNWRITTEN_BYTES, 25 SIM_ERR_NULL_POINTER_DEREFERENCE, 26 SIM_ERR_CORRUPT_STACK, 27 SIM_ERR_NUM_ERRORS 28 }; 29 30 enum execution_error_action { 31 SIM_ERRACTION_EXIT, 32 SIM_ERRACTION_WARN, 33 SIM_ERRACTION_IGNORE, 34 SIM_ERRACTION_DEBUG, 35 SIM_ERRACTION_NUM_ACTIONS 36 }; 37 38 void execution_error (enum execution_error num, unsigned long address); 39 void execution_error_init_standalone (void); 40 void execution_error_init_debugger (void); 41 void execution_error_error_all (void); 42 void execution_error_warn_all (void); 43 void execution_error_ignore_all (void); 44 enum execution_error execution_error_get_last_error (void); 45 void execution_error_clear_last_error (void); 46 void execution_error_set_action (enum execution_error num, 47 enum execution_error_action act); 48