system.hh (10846:751aa8add0bc) system.hh (11234:c273990ed9bf)
1/*
1/*
2 * Copyright (c) 2010, 2012-2013 ARM Limited
2 * Copyright (c) 2010, 2012-2013, 2015 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

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

38 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
39 *
40 * Authors: Ali Saidi
41 */
42
43#ifndef __ARCH_ARM_SYSTEM_HH__
44#define __ARCH_ARM_SYSTEM_HH__
45
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

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

38 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
39 *
40 * Authors: Ali Saidi
41 */
42
43#ifndef __ARCH_ARM_SYSTEM_HH__
44#define __ARCH_ARM_SYSTEM_HH__
45
46#include <memory>
46#include <string>
47#include <vector>
48
49#include "kern/linux/events.hh"
50#include "params/ArmSystem.hh"
51#include "params/GenericArmSystem.hh"
52#include "sim/sim_object.hh"
53#include "sim/system.hh"

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

59{
60 protected:
61 /**
62 * PC based event to skip the dprink() call and emulate its
63 * functionality
64 */
65 Linux::DebugPrintkEvent *debugPrintkEvent;
66
47#include <string>
48#include <vector>
49
50#include "kern/linux/events.hh"
51#include "params/ArmSystem.hh"
52#include "params/GenericArmSystem.hh"
53#include "sim/sim_object.hh"
54#include "sim/system.hh"

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

60{
61 protected:
62 /**
63 * PC based event to skip the dprink() call and emulate its
64 * functionality
65 */
66 Linux::DebugPrintkEvent *debugPrintkEvent;
67
68 /** Bootloaders */
69 std::vector<std::unique_ptr<ObjectFile>> bootLoaders;
70
67 /**
68 * Pointer to the bootloader object
69 */
70 ObjectFile *bootldr;
71
72 /**
73 * True if this system implements the Security Extensions
74 */

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

107 */
108 const uint8_t _physAddrRange64;
109
110 /**
111 * True if ASID is 16 bits in AArch64 (ARMv8)
112 */
113 const bool _haveLargeAsid64;
114
71 /**
72 * Pointer to the bootloader object
73 */
74 ObjectFile *bootldr;
75
76 /**
77 * True if this system implements the Security Extensions
78 */

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

111 */
112 const uint8_t _physAddrRange64;
113
114 /**
115 * True if ASID is 16 bits in AArch64 (ARMv8)
116 */
117 const bool _haveLargeAsid64;
118
119 protected:
120 /**
121 * Get a boot loader that matches the kernel.
122 *
123 * @param obj Kernel binary
124 * @return Pointer to boot loader ObjectFile or nullptr if there
125 * is no matching boot loader.
126 */
127 ObjectFile *getBootLoader(ObjectFile *const obj);
128
115 public:
116 typedef ArmSystemParams Params;
117 const Params *
118 params() const
119 {
120 return dynamic_cast<const Params *>(_params);
121 }
122

--- 148 unchanged lines hidden ---
129 public:
130 typedef ArmSystemParams Params;
131 const Params *
132 params() const
133 {
134 return dynamic_cast<const Params *>(_params);
135 }
136

--- 148 unchanged lines hidden ---