From bc9a839d569d4d8532c5c097bf1f4583226e3aa0 Mon Sep 17 00:00:00 2001 From: "Michael S. Tsirkin" Date: Tue, 28 Aug 2012 20:43:56 +0300 Subject: kvm: get/set PV EOI MSR Support get/set of new PV EOI MSR, for migration. Add an optional section for MSR value - send it out in case MSR was changed from the default value (0). Signed-off-by: Michael S. Tsirkin Signed-off-by: Anthony Liguori --- target-i386/machine.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'target-i386/machine.c') diff --git a/target-i386/machine.c b/target-i386/machine.c index a8be058d2d..477150887b 100644 --- a/target-i386/machine.c +++ b/target-i386/machine.c @@ -279,6 +279,13 @@ static bool async_pf_msr_needed(void *opaque) return cpu->async_pf_en_msr != 0; } +static bool pv_eoi_msr_needed(void *opaque) +{ + CPUX86State *cpu = opaque; + + return cpu->pv_eoi_en_msr != 0; +} + static const VMStateDescription vmstate_async_pf_msr = { .name = "cpu/async_pf_msr", .version_id = 1, @@ -290,6 +297,17 @@ static const VMStateDescription vmstate_async_pf_msr = { } }; +static const VMStateDescription vmstate_pv_eoi_msr = { + .name = "cpu/async_pv_eoi_msr", + .version_id = 1, + .minimum_version_id = 1, + .minimum_version_id_old = 1, + .fields = (VMStateField []) { + VMSTATE_UINT64(pv_eoi_en_msr, CPUX86State), + VMSTATE_END_OF_LIST() + } +}; + static bool fpop_ip_dp_needed(void *opaque) { CPUX86State *env = opaque; @@ -453,6 +471,9 @@ static const VMStateDescription vmstate_cpu = { { .vmsd = &vmstate_async_pf_msr, .needed = async_pf_msr_needed, + } , { + .vmsd = &vmstate_pv_eoi_msr, + .needed = pv_eoi_msr_needed, } , { .vmsd = &vmstate_fpop_ip_dp, .needed = fpop_ip_dp_needed, -- cgit 1.4.1