39#ifndef __ARCH_X86_PAGETABLE_HH__
40#define __ARCH_X86_PAGETABLE_HH__
154 template <
int first,
int last>
180 bool _uncacheable=
false,
bool _readonly=
false)
186 uncacheable(_uncacheable);
195 return 1 << ((first - last) + 4 -
PageShift);
Defines global host-dependent types: Counter, Tick, and (indirectly) {int,uint}{8,...
This object is a proxy for a port or other object which implements the functional response protocol,...
Basic support for object serialization.
A trie is a tree-based data structure used for data retrieval.
void read(PortProxy &p, Addr table, Addr vaddr)
void reset(Addr _paddr, bool _present=true, bool _uncacheable=false, bool _readonly=false)
constexpr T bits(T val, unsigned first, unsigned last)
Extract the bitfield from position 'first' to 'last' (inclusive) from 'val' and right justify it.
#define BitUnion64(name)
Use this to define conveniently sized values overlayed with bitfields.
#define EndBitUnion(name)
This closes off the class and union started by the above macro.
Trie< Addr, TlbEntry > TlbEntryTrie
Bitfield< 21, 12 > norml1
Bitfield< 31, 22 > norml2
Bitfield< 47, 39 > longl4
Bitfield< 38, 30 > longl3
Bitfield< 29, 21 > longl2
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
std::ostream CheckpointOut
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
PortProxy Object Declaration.
void unserialize(CheckpointIn &cp) override
Unserialize an object.
void serialize(CheckpointOut &cp) const override
Serialize an object.
void updateVaddr(Addr new_vaddr)
TlbEntryTrie::Handle trieHandle