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