Mailing List Archive

inst_len in HVM mmio handler must be a signed variable, as
# HG changeset patch
# User kaf24@firebug.cl.cam.ac.uk
# Node ID 2f515e08edfc91104993e4bd131fedd41cd9ef96
# Parent 602bf0aa15ab534672af6be57c0418807ff5608b
inst_len in HVM mmio handler must be a signed variable, as
it may hold an error return value (from hvm_instruction_length).

Signed-off-by: Tom Woller <thomas.woller@amd.com>

diff -r 602bf0aa15ab -r 2f515e08edfc xen/arch/x86/hvm/platform.c
--- a/xen/arch/x86/hvm/platform.c Tue Feb 21 17:29:28 2006
+++ b/xen/arch/x86/hvm/platform.c Tue Feb 21 18:32:15 2006
@@ -760,12 +760,12 @@

void handle_mmio(unsigned long va, unsigned long gpa)
{
- unsigned long inst_len, inst_addr;
+ unsigned long inst_addr;
struct mmio_op *mmio_opp;
struct cpu_user_regs *regs;
struct instruction mmio_inst;
unsigned char inst[MAX_INST_LEN];
- int i, realmode, ret;
+ int i, realmode, ret, inst_len;
struct vcpu *v = current;

mmio_opp = &v->arch.hvm_vcpu.mmio_op;
@@ -795,7 +795,7 @@

if (hvm_decode(realmode, inst, &mmio_inst) == DECODE_failure) {
printf("handle_mmio: failed to decode instruction\n");
- printf("mmio opcode: va 0x%lx, gpa 0x%lx, len %ld:",
+ printf("mmio opcode: va 0x%lx, gpa 0x%lx, len %d:",
va, gpa, inst_len);
for (i = 0; i < inst_len; i++)
printf(" %02x", inst[i] & 0xFF);

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xensource.com
http://lists.xensource.com/xen-changelog