[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-3.4-testing] vt-d: some small fixes to apic_pin_2_ir_idx
# HG changeset patch # User Keir Fraser <keir.fraser@xxxxxxxxxx> # Date 1254408966 -3600 # Node ID 065976816758044334a4f6326c1637e1f263c59f # Parent 7422afed66ee9a48c1ab68a98ecaecff5de70eaf vt-d: some small fixes to apic_pin_2_ir_idx 1) apic_pin_2_ir_idx should be int** rahter than unsigned int**, because we use the int -1 to indicate that the related IRTE index is not allocated. 2) shouldn't re-init apic_pin_2_ir_idx when resuming from S3. Signed-off-by: Dexuan Cui <dexuan.cui@xxxxxxxxx> xen-unstable changeset: 20177:ac096fe31a63 xen-unstable date: Mon Sep 07 13:51:55 2009 +0100 --- xen/drivers/passthrough/vtd/intremap.c | 14 +++++++++----- 1 files changed, 9 insertions(+), 5 deletions(-) diff -r 7422afed66ee -r 065976816758 xen/drivers/passthrough/vtd/intremap.c --- a/xen/drivers/passthrough/vtd/intremap.c Mon Sep 07 08:53:07 2009 +0100 +++ b/xen/drivers/passthrough/vtd/intremap.c Thu Oct 01 15:56:06 2009 +0100 @@ -40,19 +40,23 @@ #endif /* apic_pin_2_ir_idx[apicid][pin] = interrupt remapping table index */ -static unsigned int **apic_pin_2_ir_idx; +static int **apic_pin_2_ir_idx; static int init_apic_pin_2_ir_idx(void) { - unsigned int *_apic_pin_2_ir_idx; + int *_apic_pin_2_ir_idx; unsigned int nr_pins, i; + + /* Here we shouldn't need to re-init when resuming from S3. */ + if ( apic_pin_2_ir_idx != NULL ) + return 0; nr_pins = 0; for ( i = 0; i < nr_ioapics; i++ ) nr_pins += nr_ioapic_registers(i); - _apic_pin_2_ir_idx = xmalloc_array(unsigned int, nr_pins); - apic_pin_2_ir_idx = xmalloc_array(unsigned int *, nr_ioapics); + _apic_pin_2_ir_idx = xmalloc_array(int, nr_pins); + apic_pin_2_ir_idx = xmalloc_array(int *, nr_ioapics); if ( (_apic_pin_2_ir_idx == NULL) || (apic_pin_2_ir_idx == NULL) ) { xfree(_apic_pin_2_ir_idx); @@ -410,7 +414,7 @@ static int msi_msg_to_remap_entry( struct iremap_entry *iremap_entry = NULL, *iremap_entries; struct iremap_entry new_ire; struct msi_msg_remap_entry *remap_rte; - unsigned int index; + int index; unsigned long flags; struct ir_ctrl *ir_ctrl = iommu_ir_ctrl(iommu); _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |