faults.hh (10037:5cac77888310) faults.hh (10205:3ca67d0e0e7e)
1/*
2 * Copyright (c) 2010, 2012-2013 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

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

252 void invoke(ThreadContext *tc,
253 StaticInstPtr inst = StaticInst::nullStaticInstPtr);
254};
255
256class UndefinedInstruction : public ArmFaultVals<UndefinedInstruction>
257{
258 protected:
259 bool unknown;
1/*
2 * Copyright (c) 2010, 2012-2013 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

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

252 void invoke(ThreadContext *tc,
253 StaticInstPtr inst = StaticInst::nullStaticInstPtr);
254};
255
256class UndefinedInstruction : public ArmFaultVals<UndefinedInstruction>
257{
258 protected:
259 bool unknown;
260 const char *mnemonic;
261 bool disabled;
262 ExceptionClass overrideEc;
260 bool disabled;
261 ExceptionClass overrideEc;
262 const char *mnemonic;
263
264 public:
265 UndefinedInstruction(ExtMachInst _machInst,
266 bool _unknown,
267 const char *_mnemonic = NULL,
268 bool _disabled = false) :
269 ArmFaultVals<UndefinedInstruction>(_machInst),
263
264 public:
265 UndefinedInstruction(ExtMachInst _machInst,
266 bool _unknown,
267 const char *_mnemonic = NULL,
268 bool _disabled = false) :
269 ArmFaultVals<UndefinedInstruction>(_machInst),
270 unknown(_unknown), mnemonic(_mnemonic), disabled(_disabled),
271 overrideEc(EC_INVALID)
270 unknown(_unknown), disabled(_disabled),
271 overrideEc(EC_INVALID), mnemonic(_mnemonic)
272 {}
272 {}
273 UndefinedInstruction(ExtMachInst _machInst, uint32_t _iss, ExceptionClass _overrideEc) :
273 UndefinedInstruction(ExtMachInst _machInst, uint32_t _iss,
274 ExceptionClass _overrideEc, const char *_mnemonic = NULL) :
274 ArmFaultVals<UndefinedInstruction>(_machInst, _iss),
275 ArmFaultVals<UndefinedInstruction>(_machInst, _iss),
275 overrideEc(_overrideEc)
276 unknown(false), disabled(true), overrideEc(_overrideEc),
277 mnemonic(_mnemonic)
276 {}
277
278 void invoke(ThreadContext *tc,
279 StaticInstPtr inst = StaticInst::nullStaticInstPtr);
280 bool routeToHyp(ThreadContext *tc) const;
281 ExceptionClass ec(ThreadContext *tc) const;
282 uint32_t iss() const;
283};

--- 281 unchanged lines hidden ---
278 {}
279
280 void invoke(ThreadContext *tc,
281 StaticInstPtr inst = StaticInst::nullStaticInstPtr);
282 bool routeToHyp(ThreadContext *tc) const;
283 ExceptionClass ec(ThreadContext *tc) const;
284 uint32_t iss() const;
285};

--- 281 unchanged lines hidden ---