[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-arm] [PATCH RFC 0/7] ARM64: KVM: Cross type vCPU support
From: |
Shannon Zhao |
Subject: |
[Qemu-arm] [PATCH RFC 0/7] ARM64: KVM: Cross type vCPU support |
Date: |
Mon, 16 Jan 2017 17:33:27 +0800 |
From: Shannon Zhao <address@hidden>
This patch set adds support for Cross type vCPU in KVM-ARM64. It allows
userspace to request a different vCPU type with the physical ones and
check whether the physical CPUs could support that specific vCPU. If so,
KVM will trap the ID registers and return guest with the values from
usersapce.
This patch set is not complete since the CPU Errata is not considered
and currently it only checks if the id_aa64mmfr0_el1 register value is
legal. I want this as an example and need some feedback from folks if
this approach is right or proper.
You can test this patch set with QEMU using
-cpu cortex-a53/cortex-a57/generic/cortex-a72
These patches can be fetched from:
https://git.linaro.org/people/shannon.zhao/linux-mainline.git cross_vcpu_rfc
You corresponding QEMU patches can be fetched from:
https://git.linaro.org/people/shannon.zhao/qemu.git cross_vcpu_rfc
Thanks,
Shannon
Shannon Zhao (7):
ARM64: KVM: Add the definition of ID registers
ARM64: KVM: Add reset handlers for all ID registers
ARM64: KVM: Reset ID registers when creating the VCPUs
ARM64: KVM: emulate accessing ID registers
ARM64: KVM: Support cross type vCPU
ARM64: KVM: Support heterogeneous system
ARM64: KVM: Add user set handler for id_aa64mmfr0_el1
arch/arm/kvm/arm.c | 36 ++++-
arch/arm64/include/asm/kvm_coproc.h | 1 +
arch/arm64/include/asm/kvm_emulate.h | 3 +
arch/arm64/include/asm/kvm_host.h | 49 +++++-
arch/arm64/include/uapi/asm/kvm.h | 1 +
arch/arm64/kvm/guest.c | 18 ++-
arch/arm64/kvm/hyp/sysreg-sr.c | 2 +
arch/arm64/kvm/sys_regs.c | 290 +++++++++++++++++++++++------------
include/uapi/linux/kvm.h | 2 +
9 files changed, 296 insertions(+), 106 deletions(-)
--
2.0.4
- [Qemu-arm] [PATCH RFC 0/7] ARM64: KVM: Cross type vCPU support,
Shannon Zhao <=
- [Qemu-arm] [PATCH RFC 7/7] ARM64: KVM: Add user set handler for id_aa64mmfr0_el1, Shannon Zhao, 2017/01/16
- [Qemu-arm] [PATCH RFC 4/7] ARM64: KVM: emulate accessing ID registers, Shannon Zhao, 2017/01/16
- [Qemu-arm] [PATCH RFC 5/7] ARM64: KVM: Support cross type vCPU, Shannon Zhao, 2017/01/16
- [Qemu-arm] [PATCH RFC 2/7] ARM64: KVM: Add reset handlers for all ID registers, Shannon Zhao, 2017/01/16
- [Qemu-arm] [PATCH RFC 6/7] ARM64: KVM: Support heterogeneous system, Shannon Zhao, 2017/01/16