]> xenbits.xensource.com Git - people/julieng/linux-arm.git/commitdiff
arm64: KVM: Enable minimalistic support for Thunder
authorTirumalesh Chalamarla <tchalamarla@caviumnetworks.com>
Fri, 26 Jun 2015 19:51:24 +0000 (12:51 -0700)
committerJulien Grall <julien.grall@citrix.com>
Mon, 28 Sep 2015 11:05:11 +0000 (12:05 +0100)
In order to allow KVM to run on Thunder implementations, add the
minimal support required.

Signed-off-by: Tirumalesh Chalamarla <tchalamarla@caviumnetworks.com>
Signed-off-by: Robert Richter <rrichter@cavium.com>
Signed-off-by: Vadim Lomovtsev <Vadim.Lomovtsev@caviumnetworks.com>
arch/arm64/include/uapi/asm/kvm.h
arch/arm64/kvm/guest.c
arch/arm64/kvm/sys_regs_generic_v8.c

index d26832022127e822d9912f19ca73fe6ea794a309..6c4c55672a731ab626fd5bf958fe9957cda38321 100644 (file)
@@ -59,8 +59,9 @@ struct kvm_regs {
 #define KVM_ARM_TARGET_CORTEX_A57      2
 #define KVM_ARM_TARGET_XGENE_POTENZA   3
 #define KVM_ARM_TARGET_CORTEX_A53      4
+#define KVM_ARM_TARGET_CAVIUM_THUNDER  5
 
-#define KVM_ARM_NUM_TARGETS            5
+#define KVM_ARM_NUM_TARGETS            6
 
 /* KVM_ARM_SET_DEVICE_ADDR ioctl id encoding */
 #define KVM_ARM_DEVICE_TYPE_SHIFT      0
index 9535bd555d1d47cf190f78306eb879484d70a261..18a26e1a5a85ad3ff95fc5e4c6ef27ac59035583 100644 (file)
@@ -291,6 +291,12 @@ int __attribute_const__ kvm_target_cpu(void)
                        return KVM_ARM_TARGET_XGENE_POTENZA;
                };
                break;
+       case ARM_CPU_IMP_CAVIUM:
+               switch (part_number) {
+               case CAVIUM_CPU_PART_THUNDERX:
+                       return KVM_ARM_TARGET_CAVIUM_THUNDER;
+               };
+               break;
        };
 
        return -EINVAL;
index 475fd29293102649ea45ee411c077cca64f37782..0e48ee8f51d5bc95fbdaea126f2d046a4b30c628 100644 (file)
@@ -94,6 +94,8 @@ static int __init sys_reg_genericv8_init(void)
                                          &genericv8_target_table);
        kvm_register_target_sys_reg_table(KVM_ARM_TARGET_XGENE_POTENZA,
                                          &genericv8_target_table);
+       kvm_register_target_sys_reg_table(KVM_ARM_TARGET_CAVIUM_THUNDER,
+                                         &genericv8_target_table);
 
        return 0;
 }