armv8_cpu.hh (11178:555325cbf464) armv8_cpu.hh (11934:72977e8e15b8)
1/*
1/*
2 * Copyright (c) 2015 ARM Limited
2 * Copyright (c) 2015, 2017 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

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

78 *
79 */
80class ArmV8KvmCPU : public BaseArmKvmCPU
81{
82 public:
83 ArmV8KvmCPU(ArmV8KvmCPUParams *params);
84 virtual ~ArmV8KvmCPU();
85
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

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

78 *
79 */
80class ArmV8KvmCPU : public BaseArmKvmCPU
81{
82 public:
83 ArmV8KvmCPU(ArmV8KvmCPUParams *params);
84 virtual ~ArmV8KvmCPU();
85
86 void startup() override;
87
86 void dump() const override;
87
88 protected:
89 void updateKvmState() override;
90 void updateThreadContext() override;
91
92 protected:
93 /** Mapping between integer registers in gem5 and KVM */

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

127 * @return Vector of kvm<->misc reg mappings.
128 */
129 const std::vector<ArmV8KvmCPU::MiscRegInfo> &getSysRegMap() const;
130
131 /** Mapping between gem5 integer registers and integer registers in kvm */
132 static const std::vector<ArmV8KvmCPU::IntRegInfo> intRegMap;
133 /** Mapping between gem5 misc registers registers and registers in kvm */
134 static const std::vector<ArmV8KvmCPU::MiscRegInfo> miscRegMap;
88 void dump() const override;
89
90 protected:
91 void updateKvmState() override;
92 void updateThreadContext() override;
93
94 protected:
95 /** Mapping between integer registers in gem5 and KVM */

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

129 * @return Vector of kvm<->misc reg mappings.
130 */
131 const std::vector<ArmV8KvmCPU::MiscRegInfo> &getSysRegMap() const;
132
133 /** Mapping between gem5 integer registers and integer registers in kvm */
134 static const std::vector<ArmV8KvmCPU::IntRegInfo> intRegMap;
135 /** Mapping between gem5 misc registers registers and registers in kvm */
136 static const std::vector<ArmV8KvmCPU::MiscRegInfo> miscRegMap;
137 /** Mapping between gem5 ID misc registers registers and registers in kvm */
138 static const std::vector<ArmV8KvmCPU::MiscRegInfo> miscRegIdMap;
135
136 /** Cached mapping between system registers in kvm and misc regs in gem5 */
137 mutable std::vector<ArmV8KvmCPU::MiscRegInfo> sysRegMap;
138};
139
140#endif // __ARCH_ARM_KVM_ARMV8_CPU_HH__
139
140 /** Cached mapping between system registers in kvm and misc regs in gem5 */
141 mutable std::vector<ArmV8KvmCPU::MiscRegInfo> sysRegMap;
142};
143
144#endif // __ARCH_ARM_KVM_ARMV8_CPU_HH__