summaryrefslogtreecommitdiff
path: root/base
diff options
context:
space:
mode:
authorSteve Reinhardt <stever@eecs.umich.edu>2005-05-13 00:28:42 -0400
committerSteve Reinhardt <stever@eecs.umich.edu>2005-05-13 00:28:42 -0400
commit581ef3c0763923b2e08f6899233281d07e07b781 (patch)
treecd1ca27c23706963f7672538f4c2015158267342 /base
parentea18fda771c5de4f48861915c429a4fec5e82be1 (diff)
downloadgem5-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.hh13
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));