[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] [HVM] vlapic: No use of domain_crash_synchronous().
# HG changeset patch # User kfraser@xxxxxxxxxxxxxxxxxxxxx # Node ID e821c15b7cfeacbc6eac6e506f8fc1748b98a418 # Parent fda15861731e39f27d3423c31a0220c2fe2f1efb [HVM] vlapic: No use of domain_crash_synchronous(). The safer domain_crash() is sufficient. Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx> --- xen/arch/x86/hvm/vlapic.c | 25 ++++++++++++++++--------- 1 files changed, 16 insertions(+), 9 deletions(-) diff -r fda15861731e -r e821c15b7cfe xen/arch/x86/hvm/vlapic.c --- a/xen/arch/x86/hvm/vlapic.c Fri Nov 10 18:20:49 2006 +0000 +++ b/xen/arch/x86/hvm/vlapic.c Fri Nov 10 18:27:35 2006 +0000 @@ -322,7 +322,7 @@ static int vlapic_accept_irq(struct vcpu if ( test_and_clear_bit(_VCPUF_initialised, &v->vcpu_flags) ) { gdprintk(XENLOG_ERR, "Reset hvm vcpu not supported yet\n"); - domain_crash_synchronous(); + goto exit_and_crash; } v->arch.hvm_vcpu.init_sipi_sipi_state = HVM_VCPU_INIT_SIPI_SIPI_STATE_WAIT_SIPI; @@ -340,7 +340,7 @@ static int vlapic_accept_irq(struct vcpu if ( test_bit(_VCPUF_initialised, &v->vcpu_flags) ) { gdprintk(XENLOG_ERR, "SIPI for initialized vcpu %x\n", v->vcpu_id); - domain_crash_synchronous(); + goto exit_and_crash; } if ( hvm_bringup_ap(v->vcpu_id, vector) != 0 ) @@ -350,11 +350,14 @@ static int vlapic_accept_irq(struct vcpu default: gdprintk(XENLOG_ERR, "TODO: unsupported delivery mode %x\n", delivery_mode); - domain_crash_synchronous(); - break; + goto exit_and_crash; } return result; + + exit_and_crash: + domain_crash(v->domain); + return 0; } /* This function is used by both ioapic and lapic.The bitmap is for vcpu_id. */ @@ -568,14 +571,17 @@ static unsigned long vlapic_read(struct default: gdprintk(XENLOG_ERR, "Local APIC read with len=0x%lx, " "should be 4 instead.\n", len); - domain_crash_synchronous(); - break; + goto exit_and_crash; } HVM_DBG_LOG(DBG_LEVEL_VLAPIC, "offset 0x%x with length 0x%lx, " "and the result is 0x%lx.", offset, len, result); return result; + + exit_and_crash: + domain_crash(v->domain); + return 0; } static void vlapic_write(struct vcpu *v, unsigned long address, @@ -615,7 +621,7 @@ static void vlapic_write(struct vcpu *v, { gdprintk(XENLOG_ERR, "Uneven alignment error for " "2-byte vlapic access\n"); - domain_crash_synchronous(); + goto exit_and_crash; } val = (tmp & ~(0xffff << (8*alignment))) | @@ -625,8 +631,9 @@ static void vlapic_write(struct vcpu *v, default: gdprintk(XENLOG_ERR, "Local APIC write with len = %lx, " "should be 4 instead\n", len); - domain_crash_synchronous(); - break; + exit_and_crash: + domain_crash(v->domain); + return; } } _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |