arm64: KVM: Enable minimalistic support for Cortex-A53
In order to allow KVM to run on Cortex-A53 implementations, wire the minimal support required. Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org>
This commit is contained in:
parent
c814ca029e
commit
1252b33136
4 changed files with 7 additions and 1 deletions
|
@ -41,6 +41,7 @@
|
||||||
|
|
||||||
#define ARM_CPU_PART_AEM_V8 0xD0F0
|
#define ARM_CPU_PART_AEM_V8 0xD0F0
|
||||||
#define ARM_CPU_PART_FOUNDATION 0xD000
|
#define ARM_CPU_PART_FOUNDATION 0xD000
|
||||||
|
#define ARM_CPU_PART_CORTEX_A53 0xD030
|
||||||
#define ARM_CPU_PART_CORTEX_A57 0xD070
|
#define ARM_CPU_PART_CORTEX_A57 0xD070
|
||||||
|
|
||||||
#define APM_CPU_PART_POTENZA 0x0000
|
#define APM_CPU_PART_POTENZA 0x0000
|
||||||
|
|
|
@ -57,8 +57,9 @@ struct kvm_regs {
|
||||||
#define KVM_ARM_TARGET_FOUNDATION_V8 1
|
#define KVM_ARM_TARGET_FOUNDATION_V8 1
|
||||||
#define KVM_ARM_TARGET_CORTEX_A57 2
|
#define KVM_ARM_TARGET_CORTEX_A57 2
|
||||||
#define KVM_ARM_TARGET_XGENE_POTENZA 3
|
#define KVM_ARM_TARGET_XGENE_POTENZA 3
|
||||||
|
#define KVM_ARM_TARGET_CORTEX_A53 4
|
||||||
|
|
||||||
#define KVM_ARM_NUM_TARGETS 4
|
#define KVM_ARM_NUM_TARGETS 5
|
||||||
|
|
||||||
/* KVM_ARM_SET_DEVICE_ADDR ioctl id encoding */
|
/* KVM_ARM_SET_DEVICE_ADDR ioctl id encoding */
|
||||||
#define KVM_ARM_DEVICE_TYPE_SHIFT 0
|
#define KVM_ARM_DEVICE_TYPE_SHIFT 0
|
||||||
|
|
|
@ -214,6 +214,8 @@ int __attribute_const__ kvm_target_cpu(void)
|
||||||
return KVM_ARM_TARGET_AEM_V8;
|
return KVM_ARM_TARGET_AEM_V8;
|
||||||
case ARM_CPU_PART_FOUNDATION:
|
case ARM_CPU_PART_FOUNDATION:
|
||||||
return KVM_ARM_TARGET_FOUNDATION_V8;
|
return KVM_ARM_TARGET_FOUNDATION_V8;
|
||||||
|
case ARM_CPU_PART_CORTEX_A53:
|
||||||
|
return KVM_ARM_TARGET_CORTEX_A53;
|
||||||
case ARM_CPU_PART_CORTEX_A57:
|
case ARM_CPU_PART_CORTEX_A57:
|
||||||
return KVM_ARM_TARGET_CORTEX_A57;
|
return KVM_ARM_TARGET_CORTEX_A57;
|
||||||
};
|
};
|
||||||
|
|
|
@ -88,6 +88,8 @@ static int __init sys_reg_genericv8_init(void)
|
||||||
&genericv8_target_table);
|
&genericv8_target_table);
|
||||||
kvm_register_target_sys_reg_table(KVM_ARM_TARGET_FOUNDATION_V8,
|
kvm_register_target_sys_reg_table(KVM_ARM_TARGET_FOUNDATION_V8,
|
||||||
&genericv8_target_table);
|
&genericv8_target_table);
|
||||||
|
kvm_register_target_sys_reg_table(KVM_ARM_TARGET_CORTEX_A53,
|
||||||
|
&genericv8_target_table);
|
||||||
kvm_register_target_sys_reg_table(KVM_ARM_TARGET_CORTEX_A57,
|
kvm_register_target_sys_reg_table(KVM_ARM_TARGET_CORTEX_A57,
|
||||||
&genericv8_target_table);
|
&genericv8_target_table);
|
||||||
kvm_register_target_sys_reg_table(KVM_ARM_TARGET_XGENE_POTENZA,
|
kvm_register_target_sys_reg_table(KVM_ARM_TARGET_XGENE_POTENZA,
|
||||||
|
|
Loading…
Reference in a new issue