Go to the documentation of this file.
44 #include "debug/Loader.hh"
55 enableContextSwitchStatsDump(
p.enable_context_switch_stats_dump)
57 if (
p.panic_on_panic) {
58 kernelPanic = addKernelFuncEventOrPanic<PanicPCEvent>(
59 "panic",
"Kernel panic in simulated kernel");
62 kernelPanic = addKernelFuncEventOrPanic<BreakPCEvent>(
"panic");
66 if (
p.panic_on_oops) {
67 kernelOops = addKernelFuncEventOrPanic<PanicPCEvent>(
68 "oops_exit",
"Kernel oops in guest");
71 skipUDelay = addSkipFunc<SkipUDelay>(
"DELAY",
"DELAY", 1000, 0);
82 if (
params().early_kernel_symbols) {
91 "Kernel must have fdt support.");
92 fatal_if(
params().dtb_filename ==
"",
"dtb file is not specified.");
96 inform(
"Loading DTB file: %s at address %#x\n",
params().dtb_filename,
99 auto *dtb_file = new ::Loader::DtbFile(
params().dtb_filename);
102 "Couldn't append bootargs to DTB file: %s",
105 Addr ra = dtb_file->findReleaseAddr();
109 dtb_file->buildImage().
117 tc->setIntReg(1,
params().machine_type);
118 tc->setIntReg(2,
params().dtb_addr);
PortProxy physProxy
Port to physical memory used for writing object files into ram at boot.
void initState() override
initState() is called on each SimObject when not restoring from a checkpoint.
const_iterator find(Addr address) const
Loader::SymbolTable kernelSymtab
SymbolTable debugSymbolTable
Global unified debugging symbol table (for target).
const SymbolTable & symtab() const
Loader::ObjectFile * kernelObj
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
SymbolTablePtr globals() const
const_iterator end() const
#define warn_if(cond,...)
Conditional warning macro that checks the supplied condition and only prints a warning if the conditi...
PCEvent * kernelPanic
Event to halt the simulator if the kernel calls panic()
bool insert(const Symbol &symbol)
const Params & params() const
const std::string commandLine
#define fatal_if(cond,...)
Conditional fatal macro that checks the supplied condition and only causes a fatal error if the condi...
PCEvent * skipUDelay
PC based event to skip udelay(<time>) calls and quiesce the processor for the appropriate amount of t...
PCEvent * kernelOops
Event to halt the simulator if the kernel calls oopses
#define ULL(N)
uint64_t constant
Addr _loadAddrMask
Mask that should be anded for binary/symbol loading.
void initState() override
initState() is called on each SimObject when not restoring from a checkpoint.
Generated on Tue Jun 22 2021 15:28:20 for gem5 by doxygen 1.8.17