diff options
author | Steve Reinhardt <stever@eecs.umich.edu> | 2005-05-13 00:28:42 -0400 |
---|---|---|
committer | Steve Reinhardt <stever@eecs.umich.edu> | 2005-05-13 00:28:42 -0400 |
commit | 581ef3c0763923b2e08f6899233281d07e07b781 (patch) | |
tree | cd1ca27c23706963f7672538f4c2015158267342 /base | |
parent | ea18fda771c5de4f48861915c429a4fec5e82be1 (diff) | |
download | gem5-581ef3c0763923b2e08f6899233281d07e07b781.tar.xz |
panic vs fatal fixes in bus.cc
base/misc.hh:
Add some comments explaining the difference between
panic() and fatal().
--HG--
extra : convert_revision : 876f0c98276fa1060c0589dc179022a297a8ed2e
Diffstat (limited to 'base')
-rw-r--r-- | base/misc.hh | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/base/misc.hh b/base/misc.hh index a4f9a99c5..ac5eab1cb 100644 --- a/base/misc.hh +++ b/base/misc.hh @@ -33,7 +33,11 @@ #include "base/cprintf.hh" // -// This implements a cprintf based panic +// This implements a cprintf based panic() function. panic() should +// be called when something happens that should never ever happen +// regardless of what the user does (i.e., an acutal m5 bug). panic() +// calls abort which can dump core or enter the debugger. +// // void __panic(const std::string&, cp::ArgList &, const char*, const char*, int) __attribute__((noreturn)); @@ -44,7 +48,12 @@ void __panic(const std::string&, cp::ArgList &, const char*, const char*, int) __panic__(args, cp::ArgListNull()) // -// This implements a cprintf based fatal +// This implements a cprintf based fatal() function. fatal() should +// be called when the simulation cannot continue due to some condition +// that is the user's fault (bad configuration, invalid arguments, +// etc.) and not a simulator bug. fatal() calls exit(1), i.e., a +// "normal" exit with an error code, as opposed to abort() like +// panic() does. // void __fatal(const std::string&, cp::ArgList &, const char*, const char*, int) __attribute__((noreturn)); |