tlb.hh (5894:8091ac99341a) tlb.hh (5895:569e3b31a868)
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:
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;
90 friend class Walker;
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;
91
92 typedef std::list<TlbEntry *> EntryList;
93
94 bool _allowNX;
95 uint32_t configAddress;
96
97 public:
98 bool allowNX() const

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

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

--- 37 unchanged lines hidden ---