Go to the documentation of this file.
49 #include "params/ArmFsWorkload.hh"
83 for (
const auto &bl :
p.boot_loader) {
84 std::unique_ptr<loader::ObjectFile> bl_obj;
87 fatal_if(!bl_obj,
"Could not read bootloader: %s", bl);
94 "Can't find a matching boot loader / kernel combination!");
127 "cpu_release_addr must be set with bootloader");
129 fatal_if(!arm_sys->params().gic_cpu_addr && is_gic_v2,
130 "gic_cpu_addr must be set with bootloader");
132 for (
auto *tc: arm_sys->threads) {
135 tc->setReg(
int_reg::R4, arm_sys->params().gic_cpu_addr);
142 if (!arm_sys->highestELIs64())
152 if (bl->getArch() == obj->
getArch())
loader::ObjectFile * bootldr
Pointer to the bootloader object.
Addr kernelEntry
This differs from entry since it takes into account where the kernel is loaded in memory (with loadAd...
std::vector< std::unique_ptr< loader::ObjectFile > > bootLoaders
Bootloaders.
SymbolTablePtr globals() const
Generates a new symbol table containing only global symbols.
virtual RegVal getReg(const RegId ®) const
PortProxy physProxy
Port to physical memory used for writing object files into ram at boot.
virtual const PCStateBase & pcState() const =0
bool inAArch64(ThreadContext *tc)
const SymbolTable & symtab() const
loader::ObjectFile * kernelObj
BaseGic * getGIC() const
Get a pointer to the system's GIC.
constexpr auto & ReturnAddressReg
FsWorkload(const Params &p)
ThreadContext is the external interface to all thread state for anything outside of the CPU.
const Params & params() const
Addr loadAddrMask() const
virtual bool supportsVersion(GicVersion version)=0
Check if version supported.
loader::Arch getArch() const override
ObjectFile * createObjectFile(const std::string &fname, bool raw)
virtual void pcStateNoRecord(const PCStateBase &val)=0
bool insert(const Symbol &symbol)
Insert a new symbol in the table if it does not already exist.
void set(Addr val)
Force this PC to reflect a particular value, resetting all its other fields around it.
void initState() override
initState() is called on each SimObject when not restoring from a checkpoint.
bool write(const PortProxy &proxy) const
virtual MemoryImage buildImage() const =0
SymbolTable debugSymbolTable
Global unified debugging symbol table (for target).
loader::ObjectFile * getBootLoader(loader::ObjectFile *const obj)
Get a boot loader that matches the kernel.
#define fatal_if(cond,...)
Conditional fatal macro that checks the supplied condition and only causes a fatal error if the condi...
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
Addr loadAddrOffset() const
virtual CheckerCPU * getCheckerCpuPtr()=0
void returnFromFuncIn(ThreadContext *tc) override
void initState() override
initState() is called on each SimObject when not restoring from a checkpoint.
Generated on Sun Jul 30 2023 01:56:47 for gem5 by doxygen 1.8.17