Re: [RFC PATCH 7/7] target-arm: Hacky implementation of kvm_arch_reset_vcpu() for KVM ARM64

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 02/27/2014 11:53 AM, Peter Maydell wrote:
On 27 February 2014 06:51, Pranavkumar Sawargaonkar
<pranavkumar@xxxxxxxxxx> wrote:
We need to "Feed the kernel back its initial register state" using KVM
ioctls for KVM ARM64 (just like KVM ARM). This means we need to save
the "initial register state" in kvm_arch_init_vcpu() which is not the
case for KVM ARM64 right now. In simpler work, we are depended upon
VCPU register init/save/restore for implementing kvm_arch_reset_vcpu().

This patch adds a hacky implementation of kvm_arch_reset_vcpu() which
only works for "mach-virt". As-per this hacky implemenation, we re-init
the VCPU using kvm_arch_init_vcpu() so that all registers of VCPU are
set to their reset values by in-kernel KVM code.
Re-initing the VCPU is actually the right way to do this -- it is feeding
all the register state back to KVM that is the hack. (One day I may
fix 32 bit ARM to re-init the VCPU).

I have tested the system_reset and reboot from guest for 32 bit and it does not seem to work properly. If I have a guest with two vcpus, the secondary CPU fails to boot. I did an experiment and changed the implementation of kvm_arch_reset_vcpu() to re-init the vcpu (as it is proposed for 64 bit) and in this way works.

Diana

_______________________________________________
kvmarm mailing list
kvmarm@xxxxxxxxxxxxxxxxxxxxx
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm




[Index of Archives]     [Linux KVM]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux