43#include "debug/Loader.hh"
51using namespace free_bsd;
57 enableContextSwitchStatsDump(
p.enable_context_switch_stats_dump)
59 if (
p.panic_on_panic) {
61 "panic",
"Kernel panic in simulated kernel");
68 if (
p.panic_on_oops) {
70 "oops_exit",
"Kernel oops in guest");
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().
void initState() override
initState() is called on each SimObject when not restoring from a checkpoint.
FsFreebsd(const Params &p)
PCEvent * kernelOops
Event to halt the simulator if the kernel calls oopses
PCEvent * skipUDelay
PC based event to skip udelay(<time>) calls and quiesce the processor for the appropriate amount of t...
PCEvent * kernelPanic
Event to halt the simulator if the kernel calls panic()
void initState() override
initState() is called on each SimObject when not restoring from a checkpoint.
PCEvent * addSkipFunc(Args... args)
loader::SymbolTable kernelSymtab
const std::string commandLine
loader::ObjectFile * kernelObj
T * addKernelFuncEventOrPanic(const char *lbl, Args... args)
Addr _loadAddrMask
Mask that should be anded for binary/symbol loading.
PortProxy physProxy
Port to physical memory used for writing object files into ram at boot.
const SymbolTable & symtab() const
SymbolTablePtr globals() const
Generates a new symbol table containing only global symbols.
const_iterator end() const
bool insert(const Symbol &symbol)
Insert a new symbol in the table if it does not already exist.
const_iterator find(Addr address) const
Search for a symbol by its address.
This implements an image file format to support loading and modifying flattened device tree blobs for...
#define fatal_if(cond,...)
Conditional fatal macro that checks the supplied condition and only causes a fatal error if the condi...
const Params & params() const
#define warn_if(cond,...)
Conditional warning macro that checks the supplied condition and only prints a warning if the conditi...
SymbolTable debugSymbolTable
Global unified debugging symbol table (for target).
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.