Go to the documentation of this file.
38 #ifndef __ARCH_X86_MISCREGS_HH__
39 #define __ARCH_X86_MISCREGS_HH__
46 #include "debug/MiscRegs.hh"
630 Bitfield<18> osxsave;
876 class SegDescriptorBase
880 getter(
const uint64_t &storage)
const
882 return (
bits(storage, 63, 56) << 24) |
bits(storage, 39, 16);
886 setter(uint64_t &storage, uint32_t
base)
899 uint32_t
limit = (
bits(storage, 51, 48) << 16) |
900 bits(storage, 15, 0);
901 if (
bits(storage, 55))
911 "Inlimitid segment limit %#x",
limit);
937 Bitfield<43> codeOrData;
966 Bitfield<46, 45>
dpl;
969 Bitfield<43> codeOrData;
989 Bitfield<31, 0>
base;
1000 Bitfield<11, 8>
type;
1012 Bitfield<46, 45>
dpl;
1013 Bitfield<43, 40>
type;
1014 Bitfield<36, 32>
count;
1023 Bitfield<46, 45>
dpl;
1024 Bitfield<43, 40>
type;
1057 Bitfield<51, 12>
base;
1065 #endif // __ARCH_X86_INTREGS_HH__
static RegIndex mcStatus(int index)
constexpr uint32_t CcFlagMask
static RegIndex dr(int index)
constexpr void replaceBits(T &val, unsigned first, unsigned last, B bit_val)
A convenience function to replace bits first to last of val with bit_val in place.
static RegIndex mcMisc(int index)
static RegIndex segEffBase(int index)
Bitfield< 10 > osxmmexcpt
Bitfield< 3 > defaultSize
static RegIndex segAttr(int index)
BitfieldType< SegDescriptorLimit > limit
void setter(uint64_t &storage, uint32_t limit)
Bitfield< 13, 12 > defAddr
constexpr RegClass miscRegClass(MiscRegClass, MiscRegClassName, misc_reg::NumRegs, debug::MiscRegs)
Bitfield< 15, 14 > altAddr
static RegIndex segSel(int index)
static bool isValid(int index)
static RegIndex segBase(int index)
static RegIndex mtrrPhysBase(int index)
static RegIndex perfEvtCtr(int index)
Bitfield< 56, 32 > otherInfo
static RegIndex cr(int index)
static RegIndex mcAddr(int index)
uint32_t getter(const uint64_t &storage) const
BitUnion64(VAddr) Bitfield< 20
static RegIndex iorrMask(int index)
SubBitUnion(type, 43, 40) Bitfield< 43 > codeOrData
constexpr T bits(T val, unsigned first, unsigned last)
Extract the bitfield from position 'first' to 'last' (inclusive) from 'val' and right justify it.
EndBitUnion(TriggerIntMessage) namespace delivery_mode
Bitfield< 31, 5 > paePdtb
Bitfield< 39, 16 > baseLow
Bitfield< 14 > expandDown
Bitfield< 51, 12 > physbase
BitUnion32(TriggerIntMessage) Bitfield< 7
constexpr char MiscRegClassName[]
#define panic_if(cond,...)
Conditional panic macro that checks the supplied condition and only panics if the condition is true a...
Bitfield< 63, 48 > sysretCsAndSs
static RegIndex iorrBase(int index)
@ MiscRegClass
Control (misc) register.
Bitfield< 6 > granularity
Bitfield< 31, 16 > selector
static RegIndex mcCtl(int index)
Bitfield< 47, 32 > syscallCsAndSs
Bitfield< 51, 12 > physmask
static RegIndex mtrrPhysMask(int index)
Bitfield< 15, 0 > limitLow
Bitfield< 31, 24 > counterMask
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
static RegIndex perfEvtSel(int index)
Bitfield< 31, 16 > modelSpecificCode
Bitfield< 15, 0 > offsetLow
static RegIndex segLimit(int index)
Bitfield< 15, 8 > unitMask
EndSubBitUnion(type) EndBitUnion(SegDescriptor) BitUnion64(TSSlow) Bitfield< 63
TSS Descriptor (long mode - 128 bits) the lower 64 bits.
constexpr uint32_t CfofMask
Bitfield< 51, 48 > limitHigh
Generated on Sun Jul 30 2023 01:56:48 for gem5 by doxygen 1.8.17