39 #ifndef __ARCH_X86_PAGETABLE_HH__ 40 #define __ARCH_X86_PAGETABLE_HH__ 50 #include "debug/MMU.hh" 97 bool uncacheable,
bool read_only);
114 return (1 << logBytes);
154 template <
int first,
int last>
174 entryAddr +=
bits(vaddr, first, last) *
sizeof(PageTableEntry);
175 pte = p.
read<PageTableEntry>(entryAddr);
180 bool _uncacheable=
false,
bool _readonly=
false)
195 return 1 << ((first - last) + 4 -
PageShift);
Trie< Addr, X86ISA::TlbEntry > TlbEntryTrie
EndBitUnion(TriggerIntMessage) namespace DeliveryMode
T read(Addr address) const
Read sizeof(T) bytes from address and return as object T.
ThreadContext is the external interface to all thread state for anything outside of the CPU...
void serialize(CheckpointOut &cp) const override
Serialize an object.
void unserialize(CheckpointIn &cp) override
Unserialize an object.
Bitfield< 47, 39 > longl4
Bitfield< 31, 22 > norml2
Bitfield< 29, 21 > longl2
PortProxy Object Declaration.
Bitfield< 38, 30 > longl3
TlbEntryTrie::Handle trieHandle
void reset(Addr _paddr, bool _present=true, bool _uncacheable=false, bool _readonly=false)
BitUnion64(VAddr) Bitfield< 20
Defines global host-dependent types: Counter, Tick, and (indirectly) {int,uint}{8,16,32,64}_t.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
Basic support for object serialization.
This object is a proxy for a port or other object which implements the functional response protocol...
std::ostream CheckpointOut
This is exposed globally, independent of the ISA.
Bitfield< 21, 12 > norml1
void read(PortProxy &p, Addr table, Addr vaddr)
void updateVaddr(Addr new_vaddr)
void write(Addr address, const T &data) const
Write object T to address.
T bits(T val, int first, int last)
Extract the bitfield from position 'first' to 'last' (inclusive) from 'val' and right justify it...