faults.hh (10417:710ee116eb68) faults.hh (10537:47fe87b0cf97)
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

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

167 // Exception class used to appropriately set the syndrome register
168 // (exceptions taken in HYP mode or in AArch64 state)
169 const ExceptionClass ec;
170
171 FaultStat count;
172 };
173
174 ArmFault(ExtMachInst _machInst = 0, uint32_t _iss = 0) :
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

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

167 // Exception class used to appropriately set the syndrome register
168 // (exceptions taken in HYP mode or in AArch64 state)
169 const ExceptionClass ec;
170
171 FaultStat count;
172 };
173
174 ArmFault(ExtMachInst _machInst = 0, uint32_t _iss = 0) :
175 machInst(_machInst), issRaw(_iss), from64(false), to64(false) {}
175 machInst(_machInst), issRaw(_iss), from64(false), to64(false),
176 fromEL(EL0), toEL(EL0), fromMode(MODE_UNDEFINED) {}
176
177 // Returns the actual syndrome register to use based on the target
178 // exception level
179 MiscRegIndex getSyndromeReg64() const;
180 // Returns the actual fault address register to use based on the target
181 // exception level
182 MiscRegIndex getFaultAddrReg64() const;
183

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

390 TlbEntry::DomainType domain;
391 uint8_t source;
392 uint8_t srcEncoded;
393 bool stage2;
394 bool s1ptw;
395 ArmFault::TranMethod tranMethod;
396
397 public:
177
178 // Returns the actual syndrome register to use based on the target
179 // exception level
180 MiscRegIndex getSyndromeReg64() const;
181 // Returns the actual fault address register to use based on the target
182 // exception level
183 MiscRegIndex getFaultAddrReg64() const;
184

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

391 TlbEntry::DomainType domain;
392 uint8_t source;
393 uint8_t srcEncoded;
394 bool stage2;
395 bool s1ptw;
396 ArmFault::TranMethod tranMethod;
397
398 public:
398 AbortFault(Addr _faultAddr, bool _write, TlbEntry::DomainType _domain, uint8_t _source,
399 bool _stage2, ArmFault::TranMethod _tranMethod = ArmFault::UnknownTran) :
400 faultAddr(_faultAddr), write(_write), domain(_domain), source(_source),
399 AbortFault(Addr _faultAddr, bool _write, TlbEntry::DomainType _domain,
400 uint8_t _source, bool _stage2,
401 ArmFault::TranMethod _tranMethod = ArmFault::UnknownTran) :
402 faultAddr(_faultAddr), OVAddr(0), write(_write),
403 domain(_domain), source(_source), srcEncoded(0),
401 stage2(_stage2), s1ptw(false), tranMethod(_tranMethod)
402 {}
403
404 void invoke(ThreadContext *tc, const StaticInstPtr &inst =
405 StaticInst::nullStaticInstPtr);
406
407 FSR getFsr(ThreadContext *tc);
408 bool abortDisable(ThreadContext *tc);

--- 158 unchanged lines hidden ---
404 stage2(_stage2), s1ptw(false), tranMethod(_tranMethod)
405 {}
406
407 void invoke(ThreadContext *tc, const StaticInstPtr &inst =
408 StaticInst::nullStaticInstPtr);
409
410 FSR getFsr(ThreadContext *tc);
411 bool abortDisable(ThreadContext *tc);

--- 158 unchanged lines hidden ---