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->setIntReg(4, arm_sys->params().gic_cpu_addr);
137 tc->setIntReg(5,
params().cpu_release_addr);
142 if (!arm_sys->highestELIs64())
152 if (bl->getArch() == obj->
getArch())
virtual void pcStateNoRecord(const TheISA::PCState &val)=0
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.
PortProxy physProxy
Port to physical memory used for writing object files into ram at boot.
const int ReturnAddressReg
bool inAArch64(ThreadContext *tc)
const SymbolTable & symtab() const
loader::ObjectFile * kernelObj
BaseGic * getGIC() const
Get a pointer to the system's GIC.
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.
virtual TheISA::PCState pcState() const =0
virtual RegVal readIntReg(RegIndex reg_idx) const =0
loader::Arch getArch() const override
ObjectFile * createObjectFile(const std::string &fname, bool raw)
bool insert(const Symbol &symbol)
Insert a new symbol in the table if it does not already exist.
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 Tue Sep 21 2021 12:24:31 for gem5 by doxygen 1.8.17