faults.hh (5569:baeee670d4ce) | faults.hh (5736:426510e758ad) |
---|---|
1/* 2 * Copyright (c) 2003-2005 The Regents of The University of Michigan 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 126 unchanged lines hidden (view full) --- 135 FaultVect vect() {return _vect;} 136 FaultStat & countStat() {return _count;} 137}; 138 139class DtbFault : public AlphaFault 140{ 141 protected: 142 VAddr vaddr; | 1/* 2 * Copyright (c) 2003-2005 The Regents of The University of Michigan 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 126 unchanged lines hidden (view full) --- 135 FaultVect vect() {return _vect;} 136 FaultStat & countStat() {return _count;} 137}; 138 139class DtbFault : public AlphaFault 140{ 141 protected: 142 VAddr vaddr; |
143 uint32_t reqFlags; | 143 Request::Flags reqFlags; |
144 uint64_t flags; 145 146 public: | 144 uint64_t flags; 145 146 public: |
147 DtbFault(VAddr _vaddr, uint32_t _reqFlags, uint64_t _flags) | 147 DtbFault(VAddr _vaddr, Request::Flags _reqFlags, uint64_t _flags) |
148 : vaddr(_vaddr), reqFlags(_reqFlags), flags(_flags) 149 { } 150 FaultName name() const = 0; 151 FaultVect vect() = 0; 152 FaultStat & countStat() = 0; 153#if FULL_SYSTEM 154 void invoke(ThreadContext * tc); 155#endif 156}; 157 158class NDtbMissFault : public DtbFault 159{ 160 private: 161 static FaultName _name; 162 static FaultVect _vect; 163 static FaultStat _count; 164 165 public: | 148 : vaddr(_vaddr), reqFlags(_reqFlags), flags(_flags) 149 { } 150 FaultName name() const = 0; 151 FaultVect vect() = 0; 152 FaultStat & countStat() = 0; 153#if FULL_SYSTEM 154 void invoke(ThreadContext * tc); 155#endif 156}; 157 158class NDtbMissFault : public DtbFault 159{ 160 private: 161 static FaultName _name; 162 static FaultVect _vect; 163 static FaultStat _count; 164 165 public: |
166 NDtbMissFault(VAddr vaddr, uint32_t reqFlags, uint64_t flags) | 166 NDtbMissFault(VAddr vaddr, Request::Flags reqFlags, uint64_t flags) |
167 : DtbFault(vaddr, reqFlags, flags) 168 { } 169 FaultName name() const {return _name;} 170 FaultVect vect() {return _vect;} 171 FaultStat & countStat() {return _count;} 172#if !FULL_SYSTEM 173 void invoke(ThreadContext * tc); 174#endif 175}; 176 177class PDtbMissFault : public DtbFault 178{ 179 private: 180 static FaultName _name; 181 static FaultVect _vect; 182 static FaultStat _count; 183 184 public: | 167 : DtbFault(vaddr, reqFlags, flags) 168 { } 169 FaultName name() const {return _name;} 170 FaultVect vect() {return _vect;} 171 FaultStat & countStat() {return _count;} 172#if !FULL_SYSTEM 173 void invoke(ThreadContext * tc); 174#endif 175}; 176 177class PDtbMissFault : public DtbFault 178{ 179 private: 180 static FaultName _name; 181 static FaultVect _vect; 182 static FaultStat _count; 183 184 public: |
185 PDtbMissFault(VAddr vaddr, uint32_t reqFlags, uint64_t flags) | 185 PDtbMissFault(VAddr vaddr, Request::Flags reqFlags, uint64_t flags) |
186 : DtbFault(vaddr, reqFlags, flags) 187 { } 188 FaultName name() const {return _name;} 189 FaultVect vect() {return _vect;} 190 FaultStat & countStat() {return _count;} 191}; 192 193class DtbPageFault : public DtbFault 194{ 195 private: 196 static FaultName _name; 197 static FaultVect _vect; 198 static FaultStat _count; 199 200 public: | 186 : DtbFault(vaddr, reqFlags, flags) 187 { } 188 FaultName name() const {return _name;} 189 FaultVect vect() {return _vect;} 190 FaultStat & countStat() {return _count;} 191}; 192 193class DtbPageFault : public DtbFault 194{ 195 private: 196 static FaultName _name; 197 static FaultVect _vect; 198 static FaultStat _count; 199 200 public: |
201 DtbPageFault(VAddr vaddr, uint32_t reqFlags, uint64_t flags) | 201 DtbPageFault(VAddr vaddr, Request::Flags reqFlags, uint64_t flags) |
202 : DtbFault(vaddr, reqFlags, flags) 203 { } 204 FaultName name() const {return _name;} 205 FaultVect vect() {return _vect;} 206 FaultStat & countStat() {return _count;} 207}; 208 209class DtbAcvFault : public DtbFault 210{ 211 private: 212 static FaultName _name; 213 static FaultVect _vect; 214 static FaultStat _count; 215 216 public: | 202 : DtbFault(vaddr, reqFlags, flags) 203 { } 204 FaultName name() const {return _name;} 205 FaultVect vect() {return _vect;} 206 FaultStat & countStat() {return _count;} 207}; 208 209class DtbAcvFault : public DtbFault 210{ 211 private: 212 static FaultName _name; 213 static FaultVect _vect; 214 static FaultStat _count; 215 216 public: |
217 DtbAcvFault(VAddr vaddr, uint32_t reqFlags, uint64_t flags) | 217 DtbAcvFault(VAddr vaddr, Request::Flags reqFlags, uint64_t flags) |
218 : DtbFault(vaddr, reqFlags, flags) 219 { } 220 FaultName name() const {return _name;} 221 FaultVect vect() {return _vect;} 222 FaultStat & countStat() {return _count;} 223}; 224 225class DtbAlignmentFault : public DtbFault 226{ 227 private: 228 static FaultName _name; 229 static FaultVect _vect; 230 static FaultStat _count; 231 232 public: | 218 : DtbFault(vaddr, reqFlags, flags) 219 { } 220 FaultName name() const {return _name;} 221 FaultVect vect() {return _vect;} 222 FaultStat & countStat() {return _count;} 223}; 224 225class DtbAlignmentFault : public DtbFault 226{ 227 private: 228 static FaultName _name; 229 static FaultVect _vect; 230 static FaultStat _count; 231 232 public: |
233 DtbAlignmentFault(VAddr vaddr, uint32_t reqFlags, uint64_t flags) | 233 DtbAlignmentFault(VAddr vaddr, Request::Flags reqFlags, uint64_t flags) |
234 : DtbFault(vaddr, reqFlags, flags) 235 { } 236 FaultName name() const {return _name;} 237 FaultVect vect() {return _vect;} 238 FaultStat & countStat() {return _count;} 239}; 240 241class ItbFault : public AlphaFault --- 103 unchanged lines hidden --- | 234 : DtbFault(vaddr, reqFlags, flags) 235 { } 236 FaultName name() const {return _name;} 237 FaultVect vect() {return _vect;} 238 FaultStat & countStat() {return _count;} 239}; 240 241class ItbFault : public AlphaFault --- 103 unchanged lines hidden --- |