mirror of
https://github.com/clearlinux/kvmtool.git
synced 2026-08-22 05:28:30 +00:00
kvm tools: arm64: add support for AEM and Foundation models
The ARMv8 architecture is supported by two publicly available software models: the Architecture Enveloppe Model, and the Foundation model. Both are fairly similar to the Cortex-A57 from a kvm tools point of view, so we can hijack the A57 implementation to register these new targets. Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> Signed-off-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Pekka Enberg <penberg@kernel.org>
This commit is contained in:
committed by
Will Deacon
parent
beff7ae0e7
commit
ef8a47b3e5
@@ -49,6 +49,22 @@ static int cortex_a57__vcpu_init(struct kvm_cpu *vcpu)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* As far as userspace is concerned, both of these implementations are
|
||||
* extremely similar.
|
||||
*/
|
||||
static struct kvm_arm_target target_aem_v8 = {
|
||||
.id = KVM_ARM_TARGET_AEM_V8,
|
||||
.compatible = "arm,arm-v8",
|
||||
.init = cortex_a57__vcpu_init,
|
||||
};
|
||||
|
||||
static struct kvm_arm_target target_foundation_v8 = {
|
||||
.id = KVM_ARM_TARGET_FOUNDATION_V8,
|
||||
.compatible = "arm,arm-v8",
|
||||
.init = cortex_a57__vcpu_init,
|
||||
};
|
||||
|
||||
static struct kvm_arm_target target_cortex_a57 = {
|
||||
.id = KVM_ARM_TARGET_CORTEX_A57,
|
||||
.compatible = "arm,cortex-a57",
|
||||
@@ -57,6 +73,8 @@ static struct kvm_arm_target target_cortex_a57 = {
|
||||
|
||||
static int cortex_a57__core_init(struct kvm *kvm)
|
||||
{
|
||||
return kvm_cpu__register_kvm_arm_target(&target_cortex_a57);
|
||||
return (kvm_cpu__register_kvm_arm_target(&target_aem_v8) ||
|
||||
kvm_cpu__register_kvm_arm_target(&target_foundation_v8) ||
|
||||
kvm_cpu__register_kvm_arm_target(&target_cortex_a57));
|
||||
}
|
||||
core_init(cortex_a57__core_init);
|
||||
|
||||
Reference in New Issue
Block a user