42 #include "arch/vtophys.hh" 48 #include "params/LinuxX86System.hh" 54 :
X86System(p), commandLine(p->boot_osflags), e820Table(p->e820_table)
68 const Addr realModeData = 0x90200;
75 const Addr commandLineBuff = 0x90000;
77 const Addr commandLinePointer = realModeData + 0x228;
79 if (
commandLine.length() + 1 > realModeData - commandLineBuff)
80 panic(
"Command line \"%s\" is longer than %d characters.\n",
87 uint32_t guestCommandLineBuff =
htole((uint32_t)commandLineBuff);
89 sizeof(guestCommandLineBuff));
121 const Addr e820MapNrPointer = realModeData + 0x1e8;
124 const Addr e820MapPointer = realModeData + 0x2d0;
136 LinuxX86SystemParams::create()
#define panic(...)
This implements a cprintf based panic() function.
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.
void writeBlob(Addr addr, const void *p, int size) const
Same as tryWriteBlob, but insists on success.
std::vector< ThreadContext * > threadContexts
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
This is exposed globally, independent of the ISA.
X86ISA::E820Table * e820Table