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]

 



Hi Peter,

On 27 February 2014 15:23, Peter Maydell <peter.maydell@xxxxxxxxxx> 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).
>

Ok, I mentioned this a hack since it is different from arm32 way.
I will update patch comment and description accordingly.

> Why does this only work for mach-virt?

Due to re-init pc becomes zero which is fine for mach-virt but
may not work for some other machine type.

This brings me back to the question that are we going to
allow any other machine type with KVM ARM/ARM64 ?

>
> thanks
> -- PMM

Thanks,
Pranav
_______________________________________________
kvmarm mailing list
kvmarm@xxxxxxxxxxxxxxxxxxxxx
https://lists.cs.columbia.edu/cucslists/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