i386/xen: handle VCPUOP_register_vcpu_info
authorJoao Martins <joao.m.martins@oracle.com>
Fri, 29 Jun 2018 14:54:50 +0000 (10:54 -0400)
committerDavid Woodhouse <dwmw@amazon.co.uk>
Wed, 1 Mar 2023 08:22:49 +0000 (08:22 +0000)
commitc345104cd1d17e1e801b99a216fa3654cdcbce35
treecd754acc9b9545e864970e05615b0fc86b49d10b
parentd70bd6a485d54ff60a6dd708c51b5c0ba679056f
i386/xen: handle VCPUOP_register_vcpu_info

Handle the hypercall to set a per vcpu info, and also wire up the default
vcpu_info in the shared_info page for the first 32 vCPUs.

To avoid deadlock within KVM a vCPU thread must set its *own* vcpu_info
rather than it being set from the context in which the hypercall is
invoked.

Add the vcpu_info (and default) GPA to the vmstate_x86_cpu for migration,
and restore it in kvm_arch_put_registers() appropriately.

Signed-off-by: Joao Martins <joao.m.martins@oracle.com>
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
target/i386/cpu.h
target/i386/kvm/kvm.c
target/i386/kvm/trace-events
target/i386/kvm/xen-emu.c
target/i386/kvm/xen-emu.h
target/i386/machine.c