[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] Fix SVM vlapic logic.
# HG changeset patch # User kaf24@xxxxxxxxxxxxxxxxxxxx # Node ID 985879d9d935c7de0b93ec6ed8b61d280569382b # Parent a2dce576313fe16644e6aea3ab7cb8105d1c8ad8 Fix SVM vlapic logic. Signed-off-by: Tom Woller <thomas.woller@xxxxxxx> diff -r a2dce576313f -r 985879d9d935 xen/arch/x86/hvm/svm/intr.c --- a/xen/arch/x86/hvm/svm/intr.c Tue Feb 28 09:11:33 2006 +++ b/xen/arch/x86/hvm/svm/intr.c Tue Feb 28 09:12:29 2006 @@ -80,12 +80,7 @@ { struct hvm_virpit *vpit = &(v->domain->arch.hvm_domain.vpit); - switch(type) - { - case VLAPIC_DELIV_MODE_EXT: - case VLAPIC_DELIV_MODE_FIXED: - case VLAPIC_DELIV_MODE_LPRI: - if ( is_pit_irq(v, vector, type) ) { + if ( is_pit_irq(v, vector, type) ) { if ( !vpit->first_injected ) { vpit->first_injected = 1; vpit->pending_intr_nr = 0; @@ -95,12 +90,15 @@ } vpit->inject_point = NOW(); svm_set_tsc_shift (v, vpit); - } + } + + switch(type) + { + case VLAPIC_DELIV_MODE_EXT: break; default: - printk("Not support interrupt type: %d\n", type); - break; + vlapic_post_injection(v, vector, type); } } diff -r a2dce576313f -r 985879d9d935 xen/arch/x86/hvm/svm/svm.c --- a/xen/arch/x86/hvm/svm/svm.c Tue Feb 28 09:11:33 2006 +++ b/xen/arch/x86/hvm/svm/svm.c Tue Feb 28 09:12:29 2006 @@ -810,7 +810,8 @@ vpit = &v->domain->arch.hvm_domain.vpit; kill_timer(&vpit->pit_timer); kill_timer(&v->arch.hvm_svm.hlt_timer); - if ( hvm_apic_support(v->domain) ) { + if ( hvm_apic_support(v->domain) && (VLAPIC(v) != NULL) ) + { kill_timer( &(VLAPIC(v)->vlapic_timer) ); xfree( VLAPIC(v) ); } _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |