diff --git a/src/arch/alpha/pseudo_inst.hh b/src/arch/alpha/pseudo_inst.hh index 9f8b508c29..f15d0f572a 100644 --- a/src/arch/alpha/pseudo_inst.hh +++ b/src/arch/alpha/pseudo_inst.hh @@ -32,14 +32,13 @@ #define __ARCH_ALPHA_PSEUDO_INST_HH__ #include "arch/generic/pseudo_inst.hh" -#include "base/logging.hh" -class ThreadContext; +namespace AlphaISA +{ -namespace AlphaISA { - using GenericISA::m5Syscall; - using GenericISA::m5PageFault; -} +using GenericISA::m5PageFault; + +} // namespace AlphaISA #endif // __ARCH_ALPHA_PSEUDO_INST_HH__ diff --git a/src/arch/arm/pseudo_inst.hh b/src/arch/arm/pseudo_inst.hh index 50c725dcf9..e687ed93da 100644 --- a/src/arch/arm/pseudo_inst.hh +++ b/src/arch/arm/pseudo_inst.hh @@ -32,14 +32,13 @@ #define __ARCH_ARM_PSEUDO_INST_HH__ #include "arch/generic/pseudo_inst.hh" -#include "base/logging.hh" -class ThreadContext; +namespace ArmISA +{ -namespace ArmISA { - using GenericISA::m5Syscall; - using GenericISA::m5PageFault; -} +using GenericISA::m5PageFault; + +} // namespace ArmISA #endif // __ARCH_ARM_PSEUDO_INST_HH__ diff --git a/src/arch/generic/pseudo_inst.cc b/src/arch/generic/pseudo_inst.cc index 1c83d344fc..ec4cbfd527 100644 --- a/src/arch/generic/pseudo_inst.cc +++ b/src/arch/generic/pseudo_inst.cc @@ -36,12 +36,6 @@ class ThreadContext; using namespace GenericISA; -void -GenericISA::m5Syscall(ThreadContext *tc) -{ - panic("m5Syscall not implemented for current ISA"); -} - void GenericISA::m5PageFault(ThreadContext *tc) { diff --git a/src/arch/generic/pseudo_inst.hh b/src/arch/generic/pseudo_inst.hh index 001334726b..58b70fe9b2 100644 --- a/src/arch/generic/pseudo_inst.hh +++ b/src/arch/generic/pseudo_inst.hh @@ -35,13 +35,6 @@ class ThreadContext; namespace GenericISA { -/* - * This function is executed when the simulation is executing the syscall - * handler in System Emulation mode. - */ -void -m5Syscall(ThreadContext *tc); - /* * This function is executed when the simulation is executing the pagefault * handler in System Emulation mode. diff --git a/src/arch/mips/pseudo_inst.hh b/src/arch/mips/pseudo_inst.hh index 3741ebc716..1f65b344ea 100644 --- a/src/arch/mips/pseudo_inst.hh +++ b/src/arch/mips/pseudo_inst.hh @@ -32,14 +32,13 @@ #define __ARCH_MIPS_PSEUDO_INST_HH__ #include "arch/generic/pseudo_inst.hh" -#include "base/logging.hh" -class ThreadContext; +namespace MipsISA +{ -namespace MipsISA { - using GenericISA::m5Syscall; - using GenericISA::m5PageFault; -} +using GenericISA::m5PageFault; + +} // namespace MipsISA #endif // __ARCH_MIPS_PSEUDO_INST_HH__ diff --git a/src/arch/power/pseudo_inst.hh b/src/arch/power/pseudo_inst.hh index e1ecda2387..99cd905282 100644 --- a/src/arch/power/pseudo_inst.hh +++ b/src/arch/power/pseudo_inst.hh @@ -32,14 +32,13 @@ #define __ARCH_POWER_PSEUDO_INST_HH__ #include "arch/generic/pseudo_inst.hh" -#include "base/logging.hh" -class ThreadContext; +namespace PowerISA +{ -namespace PowerISA { - using GenericISA::m5Syscall; - using GenericISA::m5PageFault; -} +using GenericISA::m5PageFault; + +} // namespace PowerISA #endif // __ARCH_POWER_PSEUDO_INST_HH__ diff --git a/src/arch/riscv/pseudo_inst.hh b/src/arch/riscv/pseudo_inst.hh index 49cceb86bf..642ffd610c 100644 --- a/src/arch/riscv/pseudo_inst.hh +++ b/src/arch/riscv/pseudo_inst.hh @@ -32,14 +32,12 @@ #define __ARCH_RISCV_PSEUDO_INST_HH__ #include "arch/generic/pseudo_inst.hh" -#include "base/logging.hh" -class ThreadContext; +namespace RiscvISA +{ -namespace RiscvISA { - using GenericISA::m5Syscall; - using GenericISA::m5PageFault; -} +using GenericISA::m5PageFault; + +} // namespace RiscvISA #endif // __ARCH_RISCV_PSEUDO_INST_HH__ - diff --git a/src/arch/sparc/pseudo_inst.hh b/src/arch/sparc/pseudo_inst.hh index 5f9e576cc4..34b9758b0b 100644 --- a/src/arch/sparc/pseudo_inst.hh +++ b/src/arch/sparc/pseudo_inst.hh @@ -32,14 +32,13 @@ #define __ARCH_SPARC_PSEUDO_INST_HH__ #include "arch/generic/pseudo_inst.hh" -#include "base/logging.hh" -class ThreadContext; +namespace SparcISA +{ -namespace SparcISA { - using GenericISA::m5Syscall; - using GenericISA::m5PageFault; -} +using GenericISA::m5PageFault; + +} // namespace SparcISA #endif // __ARCH_SPARC_PSEUDO_INST_HH__ diff --git a/src/arch/x86/pseudo_inst.cc b/src/arch/x86/pseudo_inst.cc index 68bc74acce..95d8ab8f81 100644 --- a/src/arch/x86/pseudo_inst.cc +++ b/src/arch/x86/pseudo_inst.cc @@ -40,19 +40,6 @@ using namespace X86ISA; namespace X86ISA { -/* - * This function is executed when the simulation is executing the syscall - * handler in System Emulation mode. - */ -void -m5Syscall(ThreadContext *tc) -{ - DPRINTF(PseudoInst, "PseudoInst::m5Syscall()\n"); - - Fault fault; - tc->syscall(&fault); -} - /* * This function is executed when the simulation is executing the pagefault * handler in System Emulation mode. diff --git a/src/arch/x86/pseudo_inst.hh b/src/arch/x86/pseudo_inst.hh index 5074d1fc3d..d2a3cff7c5 100644 --- a/src/arch/x86/pseudo_inst.hh +++ b/src/arch/x86/pseudo_inst.hh @@ -33,9 +33,11 @@ class ThreadContext; -namespace X86ISA { - void m5Syscall(ThreadContext *tc); - void m5PageFault(ThreadContext *tc); -} +namespace X86ISA +{ + +void m5PageFault(ThreadContext *tc); + +} // namespace X86ISA #endif // __ARCH_X86_PSEUDO_INST_HH__ diff --git a/src/sim/pseudo_inst.cc b/src/sim/pseudo_inst.cc index 92886dacb0..53892b5d19 100644 --- a/src/sim/pseudo_inst.cc +++ b/src/sim/pseudo_inst.cc @@ -586,6 +586,18 @@ switchcpu(ThreadContext *tc) exitSimLoop("switchcpu"); } +/* + * This function is executed when the simulation is executing the syscall + * handler in System Emulation mode. + */ +void +m5Syscall(ThreadContext *tc) +{ + DPRINTF(PseudoInst, "PseudoInst::m5Syscall()\n"); + Fault fault; + tc->syscall(&fault); +} + void togglesync(ThreadContext *tc) { diff --git a/src/sim/pseudo_inst.hh b/src/sim/pseudo_inst.hh index d9b981f947..977ed1d39f 100644 --- a/src/sim/pseudo_inst.hh +++ b/src/sim/pseudo_inst.hh @@ -88,6 +88,7 @@ void debugbreak(ThreadContext *tc); void switchcpu(ThreadContext *tc); void workbegin(ThreadContext *tc, uint64_t workid, uint64_t threadid); void workend(ThreadContext *tc, uint64_t workid, uint64_t threadid); +void m5Syscall(ThreadContext *tc); void togglesync(ThreadContext *tc); } // namespace PseudoInst