47a48,63
> class TteTag
> {
> private:
> uint64_t entry;
> bool populated;
>
> public:
> TteTag() : entry(0), populated(false) {}
> TteTag(uint64_t e) : entry(e), populated(true) {}
> const TteTag &operator=(uint64_t e) { populated = true;
> entry = e; return *this; }
> bool valid() const {assert(populated); return !bits(entry,62,62); }
> Addr va() const {assert(populated); return bits(entry,41,0); }
> };
>
>
113c129
< { populated = true; entry4u = e.entry4u; return *this; }
---
> { populated = true; entry4u = e.entry4u; type = e.type; return *this; }
119a136
> Addr sizeMask() const { assert(_size() < 6); return pageSizes[_size()]-1;}
129a147,148
> Addr paddrMask() const { assert(populated);
> return mbits(entry4u, 39,13) & ~sizeMask(); }