Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1252b331 authored by Marc Zyngier's avatar Marc Zyngier Committed by Christoffer Dall
Browse files

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: default avatarMarc Zyngier <marc.zyngier@arm.com>
Signed-off-by: default avatarChristoffer Dall <christoffer.dall@linaro.org>
parent c814ca02
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -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
+2 −1
Original line number Original line Diff line number Diff line
@@ -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
+2 −0
Original line number Original line Diff line number Diff line
@@ -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;
		};
		};
+2 −0
Original line number Original line Diff line number Diff line
@@ -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,