system.hh (10037:5cac77888310) system.hh (10810:683ab55819fd)
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

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

44#define __ARCH_ARM_SYSTEM_HH__
45
46#include <string>
47#include <vector>
48
49#include "dev/arm/generic_timer.hh"
50#include "kern/linux/events.hh"
51#include "params/ArmSystem.hh"
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

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

44#define __ARCH_ARM_SYSTEM_HH__
45
46#include <string>
47#include <vector>
48
49#include "dev/arm/generic_timer.hh"
50#include "kern/linux/events.hh"
51#include "params/ArmSystem.hh"
52#include "params/GenericArmSystem.hh"
52#include "sim/sim_object.hh"
53#include "sim/system.hh"
54
55class ThreadContext;
56
57class ArmSystem : public System
58{
59 protected:

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

260 /** Returns the physical address mask for the system of a specific thread
261 * context
262 */
263 static Addr physAddrMask(ThreadContext *tc);
264
265 /** Returns true if ASID is 16 bits for the system of a specific thread
266 * context while in AArch64 (ARMv8) */
267 static bool haveLargeAsid64(ThreadContext *tc);
53#include "sim/sim_object.hh"
54#include "sim/system.hh"
55
56class ThreadContext;
57
58class ArmSystem : public System
59{
60 protected:

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

261 /** Returns the physical address mask for the system of a specific thread
262 * context
263 */
264 static Addr physAddrMask(ThreadContext *tc);
265
266 /** Returns true if ASID is 16 bits for the system of a specific thread
267 * context while in AArch64 (ARMv8) */
268 static bool haveLargeAsid64(ThreadContext *tc);
269};
268
270
271class GenericArmSystem : public ArmSystem
272{
273 public:
274 typedef GenericArmSystemParams Params;
275 const Params *
276 params() const
277 {
278 return dynamic_cast<const Params *>(_params);
279 }
280
281 GenericArmSystem(Params *p) : ArmSystem(p) {};
282 virtual ~GenericArmSystem() {};
283
284 /**
285 * Initialise the system
286 */
287 virtual void initState();
269};
270
271#endif
288};
289
290#endif
272