Since vlapic_init() is called before vcpu_initialise(). We should call the destroy functions in the the reverse order here.
Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpa...@amd.com> Reviewed-by: Konrad Rzeszutek Wilk <konrad.w...@oracle.com> Cc: Boris Ostrovsky <boris.ostrov...@oracle.com> Cc: Jun Nakajima <jun.nakaj...@intel.com> Cc: Kevin Tian <kevin.t...@intel.com> --- xen/arch/x86/hvm/hvm.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c index 25dc759..d573f0f 100644 --- a/xen/arch/x86/hvm/hvm.c +++ b/xen/arch/x86/hvm/hvm.c @@ -1613,10 +1613,10 @@ void hvm_vcpu_destroy(struct vcpu *v) tasklet_kill(&v->arch.hvm_vcpu.assert_evtchn_irq_tasklet); hvm_vcpu_cacheattr_destroy(v); + hvm_funcs.vcpu_destroy(v); + if ( is_hvm_vcpu(v) ) vlapic_destroy(v); - - hvm_funcs.vcpu_destroy(v); } void hvm_vcpu_down(struct vcpu *v) -- 1.9.1 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org https://lists.xen.org/xen-devel