Deleted Added
sdiff udiff text old ( 5894:8091ac99341a ) new ( 5895:569e3b31a868 )
full compact
1/*
2 * Copyright (c) 2007 The Hewlett-Packard Development Company
3 * All rights reserved.
4 *
5 * Redistribution and use of this software in source and binary forms,
6 * with or without modification, are permitted provided that the
7 * following conditions are met:
8 *

--- 73 unchanged lines hidden (view full) ---

82
83 static const unsigned StoreCheck = 1 << NUM_SEGMENTREGS;
84
85 class TLB;
86
87 class TLB : public BaseTLB
88 {
89 protected:
90 friend class FakeITLBFault;
91 friend class FakeDTLBFault;
92
93 typedef std::list<TlbEntry *> EntryList;
94
95 bool _allowNX;
96 uint32_t configAddress;
97
98 public:
99 bool allowNX() const

--- 13 unchanged lines hidden (view full) ---

113 protected:
114
115 EntryList::iterator lookupIt(Addr va, bool update_lru = true);
116
117#if FULL_SYSTEM
118 protected:
119
120 Walker * walker;
121
122 void walk(ThreadContext * _tc, Addr vaddr, bool write, bool execute);
123#endif
124
125 public:
126 void invalidateAll();
127
128 void invalidateNonGlobal();
129
130 void demapPage(Addr va, uint64_t asn);
131
132 protected:
133 int size;
134
135 TlbEntry * tlb;
136
137 EntryList freeList;
138 EntryList entryList;
139
140 template<class TlbFault>
141 Fault translateAtomic(RequestPtr req, ThreadContext *tc,
142 bool write, bool execute);
143 void translateTiming(RequestPtr req, ThreadContext *tc,
144 Translation *translation, bool write, bool execute);
145
146 public:
147
148 void insert(Addr vpn, TlbEntry &entry);
149
150 // Checkpointing
151 virtual void serialize(std::ostream &os);
152 virtual void unserialize(Checkpoint *cp, const std::string &section);
153 };
154
155 class ITB : public TLB
156 {

--- 37 unchanged lines hidden ---