faults.hh (14091:090449e74135) faults.hh (14128:6ed23d07d0d1)
1/*
1/*
2 * Copyright (c) 2010, 2012-2013, 2016-2018 ARM Limited
2 * Copyright (c) 2010, 2012-2013, 2016-2019 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
9 * licensed hereunder. You may use the software subject to the license
10 * terms below provided that you ensure that this notice is replicated

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

77 OperatingMode toMode; // Next operating mode (aarch32)
78
79 // This variable is true if the above fault specific informations
80 // have been updated. This is to prevent that a client is using their
81 // un-updated default constructed value.
82 bool faultUpdated;
83
84 bool hypRouted; // True if the fault has been routed to Hypervisor
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
9 * licensed hereunder. You may use the software subject to the license
10 * terms below provided that you ensure that this notice is replicated

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

77 OperatingMode toMode; // Next operating mode (aarch32)
78
79 // This variable is true if the above fault specific informations
80 // have been updated. This is to prevent that a client is using their
81 // un-updated default constructed value.
82 bool faultUpdated;
83
84 bool hypRouted; // True if the fault has been routed to Hypervisor
85 bool span; // True if the fault is setting the PSTATE.PAN bit
85
86 virtual Addr getVector(ThreadContext *tc);
87 Addr getVector64(ThreadContext *tc);
88
89 public:
90 /// Generic fault source enums used to index into
91 /// {short/long/aarch64}DescFaultSources[] to get the actual encodings based
92 /// on the current register width state and the translation table format in

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

195 armPcElrOffset(armPcElrOffset_), thumbPcElrOffset(thumbPcElrOffset_),
196 hypTrappable(hypTrappable_), abortDisable(abortDisable_),
197 fiqDisable(fiqDisable_), ec(ec_) {}
198 };
199
200 ArmFault(ExtMachInst _machInst = 0, uint32_t _iss = 0) :
201 machInst(_machInst), issRaw(_iss), from64(false), to64(false),
202 fromEL(EL0), toEL(EL0), fromMode(MODE_UNDEFINED),
86
87 virtual Addr getVector(ThreadContext *tc);
88 Addr getVector64(ThreadContext *tc);
89
90 public:
91 /// Generic fault source enums used to index into
92 /// {short/long/aarch64}DescFaultSources[] to get the actual encodings based
93 /// on the current register width state and the translation table format in

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

196 armPcElrOffset(armPcElrOffset_), thumbPcElrOffset(thumbPcElrOffset_),
197 hypTrappable(hypTrappable_), abortDisable(abortDisable_),
198 fiqDisable(fiqDisable_), ec(ec_) {}
199 };
200
201 ArmFault(ExtMachInst _machInst = 0, uint32_t _iss = 0) :
202 machInst(_machInst), issRaw(_iss), from64(false), to64(false),
203 fromEL(EL0), toEL(EL0), fromMode(MODE_UNDEFINED),
203 faultUpdated(false), hypRouted(false) {}
204 faultUpdated(false), hypRouted(false), span(false) {}
204
205 // Returns the actual syndrome register to use based on the target
206 // exception level
207 MiscRegIndex getSyndromeReg64() const;
208 // Returns the actual fault address register to use based on the target
209 // exception level
210 MiscRegIndex getFaultAddrReg64() const;
211

--- 436 unchanged lines hidden ---
205
206 // Returns the actual syndrome register to use based on the target
207 // exception level
208 MiscRegIndex getSyndromeReg64() const;
209 // Returns the actual fault address register to use based on the target
210 // exception level
211 MiscRegIndex getFaultAddrReg64() const;
212

--- 436 unchanged lines hidden ---