40 #ifndef __ARCH_X86_UTILITY_HH__ 
   41 #define __ARCH_X86_UTILITY_HH__ 
   68             return m5reg.cpl == 3;
 
  135         return *(uint64_t *)(&val);
 
  182     uint16_t 
genX87Tags(uint16_t ftw, uint8_t top, int8_t spm);
 
  201 #endif // __ARCH_X86_UTILITY_HH__ 
void skipFunction(ThreadContext *tc)
uint64_t getRFlags(ThreadContext *tc)
Reconstruct the rflags register from the internal gem5 register state. 
void copyMiscRegs(ThreadContext *src, ThreadContext *dest)
virtual MiscReg readMiscRegNoEffect(int misc_reg) const =0
bool FullSystem
The FullSystem variable can be used to determine the current mode of simulation. 
void storeFloat80(void *_mem, double value)
Convert and store a double as an 80-bit float. 
PCState buildRetPC(const PCState &curPC, const PCState &callPC)
ThreadContext is the external interface to all thread state for anything outside of the CPU...
uint64_t getExecutingAsid(ThreadContext *tc)
static bool inUserMode(ThreadContext *tc)
void copyRegs(ThreadContext *src, ThreadContext *dest)
uint64_t getArgument(ThreadContext *tc, int &number, uint16_t size, bool fp)
uint16_t convX87XTagsToTags(uint8_t ftwx)
Convert an x87 xtag word to normal tags format. 
void setRFlags(ThreadContext *tc, uint64_t val)
Set update the rflags register and internal gem5 state. 
void zeroRegisters(TC *tc)
Function to insure ISA semantics about 0 registers. 
void initCPU(ThreadContext *tc, int cpuId)
uint16_t genX87Tags(uint16_t ftw, uint8_t top, int8_t spm)
Generate and updated x87 tag register after a push/pop operation. 
virtual void advancePC(TheISA::PCState &pcState) const =0
GenericISA::SimplePCState< MachInst > PCState
uint8_t convX87TagsToXTags(uint16_t ftw)
Convert an x87 tag word to abridged tag format. 
void advancePC(PCState &pc, const StaticInstPtr &inst)
uint64_t getDoubleBits(double val)
Extract the bit string representing a double value. 
double loadFloat80(const void *_mem)
Load an 80-bit float from memory and convert it to double. 
void startupCPU(ThreadContext *tc, int cpuId)