From: Jack Lange Date: Wed, 3 Jun 2009 22:25:42 +0000 (-0500) Subject: fixed io_apic table index computation X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=commitdiff_plain;h=c0a5974089157e1a5ea18ea443fab587c577296a;hp=d3f9dd3b223729a81918a0df0dadf72015739c6c;p=palacios.git fixed io_apic table index computation --- diff --git a/palacios/src/devices/io_apic.c b/palacios/src/devices/io_apic.c index 70aae6f..1e032b6 100644 --- a/palacios/src/devices/io_apic.c +++ b/palacios/src/devices/io_apic.c @@ -182,7 +182,7 @@ static int ioapic_read(addr_t guest_addr, void * dst, uint_t length, void * priv break; default: { - uint_t redir_index = (ioapic->index_reg - IOAPIC_REDIR_BASE_REG) & 0xfffffffe; + uint_t redir_index = (ioapic->index_reg - IOAPIC_REDIR_BASE_REG) >> 1; uint_t hi_val = (ioapic->index_reg - IOAPIC_REDIR_BASE_REG) % 1; if (redir_index > 0x3f) { @@ -227,7 +227,7 @@ static int ioapic_write(addr_t guest_addr, void * src, uint_t length, void * pri break; default: { - uint_t redir_index = (ioapic->index_reg - IOAPIC_REDIR_BASE_REG) & 0xfffffffe; + uint_t redir_index = (ioapic->index_reg - IOAPIC_REDIR_BASE_REG) >> 1; uint_t hi_val = (ioapic->index_reg - IOAPIC_REDIR_BASE_REG) % 1;