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