debuggers.hg
changeset 6991:3ef86b208f9b
Fix an operand size bug in the VMX MMIO decoder.
Signed-off-by: Chengyuan Li <chengyuan.li@intel.com>
Signed-off-by: Chengyuan Li <chengyuan.li@intel.com>
author | kaf24@firebug.cl.cam.ac.uk |
---|---|
date | Tue Sep 20 09:05:03 2005 +0000 (2005-09-20) |
parents | 739154e26fb7 |
children | c0796e18b6a4 |
files | xen/arch/x86/vmx_platform.c |
line diff
1.1 --- a/xen/arch/x86/vmx_platform.c Tue Sep 20 09:02:43 2005 +0000 1.2 +++ b/xen/arch/x86/vmx_platform.c Tue Sep 20 09:05:03 2005 +0000 1.3 @@ -671,13 +671,13 @@ static void mmio_operands(int type, unsi 1.4 if (inst->operand[0] & REGISTER) { /* dest is memory */ 1.5 index = operand_index(inst->operand[0]); 1.6 value = get_reg_value(size, index, 0, regs); 1.7 - send_mmio_req(type, gpa, 1, size, value, IOREQ_WRITE, 0); 1.8 + send_mmio_req(type, gpa, 1, inst->op_size, value, IOREQ_WRITE, 0); 1.9 } else if (inst->operand[0] & IMMEDIATE) { /* dest is memory */ 1.10 value = inst->immediate; 1.11 - send_mmio_req(type, gpa, 1, size, value, IOREQ_WRITE, 0); 1.12 + send_mmio_req(type, gpa, 1, inst->op_size, value, IOREQ_WRITE, 0); 1.13 } else if (inst->operand[0] & MEMORY) { /* dest is register */ 1.14 /* send the request and wait for the value */ 1.15 - send_mmio_req(type, gpa, 1, size, 0, IOREQ_READ, 0); 1.16 + send_mmio_req(type, gpa, 1, inst->op_size, 0, IOREQ_READ, 0); 1.17 } else { 1.18 printf("mmio_operands: invalid operand\n"); 1.19 domain_crash_synchronous();