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__ |