system.hh (13173:210b6fc57533) system.hh (13396:23277eaae855)
1/*
2 * Copyright (c) 2010, 2012-2013, 2015-2018 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

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

94 const bool _haveCrypto;
95
96 /**
97 * Pointer to the Generic Timer wrapper.
98 */
99 GenericTimer *_genericTimer;
100
101 /**
1/*
2 * Copyright (c) 2010, 2012-2013, 2015-2018 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

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

94 const bool _haveCrypto;
95
96 /**
97 * Pointer to the Generic Timer wrapper.
98 */
99 GenericTimer *_genericTimer;
100
101 /**
102 * Reset address (ARMv8)
103 */
104 const Addr _resetAddr;
105
106 /**
102 * True if the register width of the highest implemented exception level is
103 * 64 bits (ARMv8)
104 */
105 bool _highestELIs64;
106
107 /**
107 * True if the register width of the highest implemented exception level is
108 * 64 bits (ARMv8)
109 */
110 bool _highestELIs64;
111
112 /**
108 * Reset address if the highest implemented exception level is 64 bits
109 * (ARMv8)
110 */
111 const Addr _resetAddr64;
112
113 /**
114 * Supported physical address range in bits if the highest implemented
115 * exception level is 64 bits (ARMv8)
116 */
117 const uint8_t _physAddrRange64;
118
119 /**
120 * True if ASID is 16 bits in AArch64 (ARMv8)
121 */

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

207 return EL3;
208 if (_haveVirtualization)
209 return EL2;
210 return EL1;
211 }
212
213 /** Returns the reset address if the highest implemented exception level is
214 * 64 bits (ARMv8) */
113 * Supported physical address range in bits if the highest implemented
114 * exception level is 64 bits (ARMv8)
115 */
116 const uint8_t _physAddrRange64;
117
118 /**
119 * True if ASID is 16 bits in AArch64 (ARMv8)
120 */

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

206 return EL3;
207 if (_haveVirtualization)
208 return EL2;
209 return EL1;
210 }
211
212 /** Returns the reset address if the highest implemented exception level is
213 * 64 bits (ARMv8) */
215 Addr resetAddr64() const { return _resetAddr64; }
214 Addr resetAddr() const { return _resetAddr; }
216
217 /** Returns true if ASID is 16 bits in AArch64 (ARMv8) */
218 bool haveLargeAsid64() const { return _haveLargeAsid64; }
219
220 /** Returns the supported physical address range in bits if the highest
221 * implemented exception level is 64 bits (ARMv8) */
222 uint8_t physAddrRange64() const { return _physAddrRange64; }
223

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

278 static ExceptionLevel highestEL(ThreadContext *tc);
279
280 /** Return true if the system implements a specific exception level */
281 static bool haveEL(ThreadContext *tc, ExceptionLevel el);
282
283 /** Returns the reset address if the highest implemented exception level
284 * for the system of a specific thread context is 64 bits (ARMv8)
285 */
215
216 /** Returns true if ASID is 16 bits in AArch64 (ARMv8) */
217 bool haveLargeAsid64() const { return _haveLargeAsid64; }
218
219 /** Returns the supported physical address range in bits if the highest
220 * implemented exception level is 64 bits (ARMv8) */
221 uint8_t physAddrRange64() const { return _physAddrRange64; }
222

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

277 static ExceptionLevel highestEL(ThreadContext *tc);
278
279 /** Return true if the system implements a specific exception level */
280 static bool haveEL(ThreadContext *tc, ExceptionLevel el);
281
282 /** Returns the reset address if the highest implemented exception level
283 * for the system of a specific thread context is 64 bits (ARMv8)
284 */
286 static Addr resetAddr64(ThreadContext *tc);
285 static Addr resetAddr(ThreadContext *tc);
287
288 /** Returns the supported physical address range in bits for the system of a
289 * specific thread context
290 */
291 static uint8_t physAddrRange(ThreadContext *tc);
292
293 /** Returns the physical address mask for the system of a specific thread
294 * context

--- 39 unchanged lines hidden ---
286
287 /** Returns the supported physical address range in bits for the system of a
288 * specific thread context
289 */
290 static uint8_t physAddrRange(ThreadContext *tc);
291
292 /** Returns the physical address mask for the system of a specific thread
293 * context

--- 39 unchanged lines hidden ---