xref: /kvmtool/arm/aarch64/include/kvm/kvm-cpu-arch.h (revision 74c5e7b2bee69372c63e1a48e7e05ceb81a6ea2c)
11e0c135aSWill Deacon #ifndef KVM__KVM_CPU_ARCH_H
21e0c135aSWill Deacon #define KVM__KVM_CPU_ARCH_H
31e0c135aSWill Deacon 
41e0c135aSWill Deacon #include "kvm/kvm.h"
51e0c135aSWill Deacon 
61e0c135aSWill Deacon #include "arm-common/kvm-cpu-arch.h"
71e0c135aSWill Deacon 
81e0c135aSWill Deacon #define ARM_VCPU_FEATURE_FLAGS(kvm, cpuid)	{				\
91e0c135aSWill Deacon 	[0] = ((!!(cpuid) << KVM_ARM_VCPU_POWER_OFF) |				\
1052e326fbSMarc Zyngier 	       (!!(kvm)->cfg.arch.aarch32_guest << KVM_ARM_VCPU_EL1_32BIT) |	\
1152e326fbSMarc Zyngier 	       (!!(kvm)->cfg.arch.has_pmuv3 << KVM_ARM_VCPU_PMU_V3))		\
121e0c135aSWill Deacon }
131e0c135aSWill Deacon 
14d06bc640SMarc Zyngier #define ARM_MPIDR_HWID_BITMASK	0xFF00FFFFFFUL
15d06bc640SMarc Zyngier #define ARM_CPU_ID		3, 0, 0, 0
16d06bc640SMarc Zyngier #define ARM_CPU_ID_MPIDR	5
17fc9d8ec3SMarc Zyngier #define ARM_CPU_CTRL		3, 0, 1, 0
18fc9d8ec3SMarc Zyngier #define ARM_CPU_CTRL_SCTLR_EL1	0
19d06bc640SMarc Zyngier 
20*74c5e7b2SDave Martin void kvm_cpu__select_features(struct kvm *kvm, struct kvm_vcpu_init *init);
21254cb189SAmit Daniel Kachhap 
221e0c135aSWill Deacon #endif /* KVM__KVM_CPU_ARCH_H */
23