42 #include "arch/vtophys.hh"
48 #include "params/LinuxX86System.hh"
51 using namespace LittleEndianGuest;
52 using namespace X86ISA;
55 :
X86System(p), commandLine(p->boot_osflags), e820Table(p->e820_table)
69 const Addr realModeData = 0x90200;
76 const Addr commandLineBuff = 0x90000;
78 const Addr commandLinePointer = realModeData + 0x228;
80 if (
commandLine.length() + 1 > realModeData - commandLineBuff)
81 panic(
"Command line \"%s\" is longer than %d characters.\n",
88 uint32_t guestCommandLineBuff =
91 sizeof(guestCommandLineBuff));
123 const Addr e820MapNrPointer = realModeData + 0x1e8;
126 const Addr e820MapPointer = realModeData + 0x2d0;
138 LinuxX86SystemParams::create()
void writeTo(PortProxy &proxy, Addr countAddr, Addr addr)
void initState()
initState() is called on each SimObject when not restoring from a checkpoint.
LinuxX86System(Params *p)
LinuxX86SystemParams Params
PortProxy physProxy
Port to physical memory used for writing object files into ram at boot.
PortProxy Object Declaration.
void initState()
Serialization stuff.
std::vector< ThreadContext * > threadContexts
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
virtual void writeBlob(Addr addr, const uint8_t *p, int size) const
Write size bytes from p to address.
X86ISA::E820Table * e820Table