Go to the documentation of this file.
43 #include "debug/Loader.hh"
51 using namespace free_bsd;
57 enableContextSwitchStatsDump(
p.enable_context_switch_stats_dump)
59 if (
p.panic_on_panic) {
60 kernelPanic = addKernelFuncEventOrPanic<PanicPCEvent>(
61 "panic",
"Kernel panic in simulated kernel");
64 kernelPanic = addKernelFuncEventOrPanic<BreakPCEvent>(
"panic");
68 if (
p.panic_on_oops) {
69 kernelOops = addKernelFuncEventOrPanic<PanicPCEvent>(
70 "oops_exit",
"Kernel oops in guest");
73 skipUDelay = addSkipFunc<SkipUDelay>(
"DELAY",
"DELAY", 1000, 0);
84 if (
params().early_kernel_symbols) {
93 "Kernel must have fdt support.");
94 fatal_if(
params().dtb_filename ==
"",
"dtb file is not specified.");
98 inform(
"Loading DTB file: %s at address %#x\n",
params().dtb_filename,
104 "Couldn't append bootargs to DTB file: %s",
107 Addr ra = dtb_file->findReleaseAddr();
111 dtb_file->buildImage().
Addr _loadAddrMask
Mask that should be anded for binary/symbol loading.
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 std::string commandLine
const_iterator end() const
FsFreebsd(const Params &p)
const SymbolTable & symtab() const
loader::ObjectFile * kernelObj
const Params & params() const
PCEvent * kernelOops
Event to halt the simulator if the kernel calls oopses
loader::SymbolTable kernelSymtab
PCEvent * kernelPanic
Event to halt the simulator if the kernel calls panic()
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
const_iterator find(Addr address) const
Search for a symbol by its address.
#define warn_if(cond,...)
Conditional warning macro that checks the supplied condition and only prints a warning if the conditi...
void initState() override
initState() is called on each SimObject when not restoring from a checkpoint.
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.
SymbolTable debugSymbolTable
Global unified debugging symbol table (for target).
PCEvent * skipUDelay
PC based event to skip udelay(<time>) calls and quiesce the processor for the appropriate amount of t...
#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....
Generated on Sun Jul 30 2023 01:56:47 for gem5 by doxygen 1.8.17