33 #include "arch/vtophys.hh"
38 #include "params/SparcSystem.hh"
41 using namespace BigEndianGuest;
59 fatal(
"Could not load reset binary %s",
params()->reset_bin);
64 fatal(
"Could not load openboot bianry %s",
params()->openboot_bin);
69 fatal(
"Could not load hypervisor binary %s",
params()->hypervisor_bin);
74 fatal(
"Could not load nvram image %s",
params()->nvram_bin);
79 fatal(
"Could not load hypervisor description image %s",
80 params()->hypervisor_desc_bin);
85 fatal(
"Could not load partition description image %s",
86 params()->partition_desc_bin);
90 panic(
"could not load reset symbols\n");
93 panic(
"could not load openboot symbols\n");
96 panic(
"could not load hypervisor symbols\n");
99 panic(
"could not load nvram symbols\n");
102 panic(
"could not load hypervisor description symbols\n");
105 panic(
"could not load partition description symbols\n");
109 panic(
"could not load reset symbols\n");
112 panic(
"could not load openboot symbols\n");
115 panic(
"could not load hypervisor symbols\n");
120 panic(
"could not load hypervisor symbols\n");
123 panic(
"could not load reset symbols\n");
126 panic(
"could not load hypervisor description symbols\n");
129 panic(
"could not load partition description symbols\n");
204 SparcSystemParams::create()
SymbolTable * partitionDescSymtab
partition desc symbol table?
virtual bool loadGlobalSymbols(SymbolTable *symtab, Addr base=0, Addr offset=0, Addr mask=maxAddr)=0
SymbolTable * hypervisorDescSymtab
hypervisor desc symbol table?
ObjectFile * hypervisor
Object pointer for the hypervisor code.
SymbolTable * openbootSymtab
openboot symbol table
SymbolTable * debugSymbolTable
Global unified debugging symbol table (for target).
void unserializeSymtab(CheckpointIn &cp) override
If needed, unserialize additional symbol table entries for a specific subclass of this system...
const Params * params() const
virtual bool loadLocalSymbols(SymbolTable *symtab, Addr base=0, Addr offset=0, Addr mask=maxAddr)=0
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.
SymbolTable * hypervisorSymtab
hypervison binary symbol table
void serialize(const std::string &base, CheckpointOut &cp) const
SymbolTable * resetSymtab
reset binary symbol table
ObjectFile * reset
Object pointer for the reset binary.
virtual bool loadSections(PortProxy &mem_proxy, Addr mask=maxAddr, Addr offset=0)
SymbolTable * nvramSymtab
nvram symbol table?
std::ostream CheckpointOut
ObjectFile * createObjectFile(const string &fname, bool raw)
ObjectFile * nvram
Object pointer for the nvram image.
void unserialize(const std::string &base, CheckpointIn &cp)
ObjectFile * partition_desc
Object pointer for the partition description image.
void initState() override
initState() is called on each SimObject when not restoring from a checkpoint.
void serializeSymtab(CheckpointOut &cp) const override
Serialization stuff.
ObjectFile * openboot
Object pointer for the openboot code.
ObjectFile * hypervisor_desc
Object pointer for the hypervisor description image.