41#ifndef __ARCH_ARM_FS_WORKLOAD_HH__
42#define __ARCH_ARM_FS_WORKLOAD_HH__
51#include "params/ArmFsWorkload.hh"
95 template <
template <
class ABI,
class Base>
class FuncEvent,
101 return addKernelFuncEvent<FuncEvent<Aapcs64, SkipFunc>>(
102 std::forward<Args>(args)...);
104 return addKernelFuncEvent<FuncEvent<Aapcs32, SkipFunc>>(
105 std::forward<Args>(args)...);
109 template <
template <
class ABI,
class Base>
class FuncEvent,
115 return addKernelFuncEventOrPanic<FuncEvent<Aapcs64, SkipFunc>>(
116 std::forward<Args>(args)...);
118 return addKernelFuncEventOrPanic<FuncEvent<Aapcs32, SkipFunc>>(
119 std::forward<Args>(args)...);
146 ByteOrder
byteOrder()
const override {
return ByteOrder::little; }
156 gdb = BaseRemoteGDB::build<RemoteGDB>(
Addr fixFuncEventAddr(Addr addr) const override
loader::ObjectFile * getBootLoader(loader::ObjectFile *const obj)
Get a boot loader that matches the kernel.
PCEvent * addSkipFuncOrPanic(Args... args)
loader::ObjectFile * bootldr
Pointer to the bootloader object.
Addr getEntry() const override
void setSystem(System *sys) override
loader::Arch getArch() const override
ByteOrder byteOrder() const override
std::vector< std::unique_ptr< loader::ObjectFile > > bootLoaders
Bootloaders.
void initState() override
initState() is called on each SimObject when not restoring from a checkpoint.
Addr kernelEntry
This differs from entry since it takes into account where the kernel is loaded in memory (with loadAd...
PCEvent * addSkipFunc(Args... args)
void returnFromFuncIn(ThreadContext *tc) override
loader::ObjectFile * kernelObj
SkipFuncBase(PCEventScope *s, const std::string &desc, Addr addr)
ThreadContext is the external interface to all thread state for anything outside of the CPU.
virtual void setSystem(System *sys)
const Params & params() const
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.