diff options
-rw-r--r-- | src/cpu/minor/exec_context.hh | 3 | ||||
-rw-r--r-- | src/cpu/o3/dyn_inst_impl.hh | 4 | ||||
-rw-r--r-- | src/cpu/o3/thread_state.hh | 1 | ||||
-rw-r--r-- | src/cpu/simple/exec_context.hh | 3 | ||||
-rw-r--r-- | src/cpu/simple_thread.hh | 2 |
5 files changed, 3 insertions, 10 deletions
diff --git a/src/cpu/minor/exec_context.hh b/src/cpu/minor/exec_context.hh index 87787f011..66e313eb3 100644 --- a/src/cpu/minor/exec_context.hh +++ b/src/cpu/minor/exec_context.hh @@ -389,9 +389,6 @@ class ExecContext : public ::ExecContext void syscall(int64_t callnum, Fault *fault) override { - if (FullSystem) - panic("Syscall emulation isn't available in FS mode.\n"); - thread.syscall(callnum, fault); } diff --git a/src/cpu/o3/dyn_inst_impl.hh b/src/cpu/o3/dyn_inst_impl.hh index fbeb3c291..22d89ec0b 100644 --- a/src/cpu/o3/dyn_inst_impl.hh +++ b/src/cpu/o3/dyn_inst_impl.hh @@ -45,7 +45,6 @@ #include "base/cp_annotate.hh" #include "cpu/o3/dyn_inst.hh" -#include "sim/full_system.hh" #include "debug/O3PipeView.hh" template <class Impl> @@ -195,9 +194,6 @@ template <class Impl> void BaseO3DynInst<Impl>::syscall(int64_t callnum, Fault *fault) { - if (FullSystem) - panic("Syscall emulation isn't available in FS mode.\n"); - // HACK: check CPU's nextPC before and after syscall. If it // changes, update this instruction's nextPC because the syscall // must have changed the nextPC. diff --git a/src/cpu/o3/thread_state.hh b/src/cpu/o3/thread_state.hh index a4a12330f..a0c3a8171 100644 --- a/src/cpu/o3/thread_state.hh +++ b/src/cpu/o3/thread_state.hh @@ -150,6 +150,7 @@ struct O3ThreadState : public ThreadState { /** Handles the syscall. */ void syscall(int64_t callnum, Fault *fault) { + fatal_if(FullSystem, "System call emulation is unavailable!"); process->syscall(callnum, tc, fault); } diff --git a/src/cpu/simple/exec_context.hh b/src/cpu/simple/exec_context.hh index 91f7ec526..4d26dfe2a 100644 --- a/src/cpu/simple/exec_context.hh +++ b/src/cpu/simple/exec_context.hh @@ -499,9 +499,6 @@ class SimpleExecContext : public ExecContext { void syscall(int64_t callnum, Fault *fault) override { - if (FullSystem) - panic("Syscall emulation isn't available in FS mode."); - thread->syscall(callnum, fault); } diff --git a/src/cpu/simple_thread.hh b/src/cpu/simple_thread.hh index f25e62249..387e74546 100644 --- a/src/cpu/simple_thread.hh +++ b/src/cpu/simple_thread.hh @@ -66,6 +66,7 @@ #include "mem/request.hh" #include "sim/byteswap.hh" #include "sim/eventq.hh" +#include "sim/full_system.hh" #include "sim/process.hh" #include "sim/serialize.hh" #include "sim/system.hh" @@ -610,6 +611,7 @@ class SimpleThread : public ThreadState, public ThreadContext void syscall(int64_t callnum, Fault *fault) override { + fatal_if(FullSystem, "System call emulation is unavailable!"); process->syscall(callnum, this, fault); } |