ia64/xen-unstable

changeset 14038:4314691c70a2

[HVM] Fix MMIO LODS emulation
Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
author Tim Deegan <Tim.Deegan@xensource.com>
date Tue Feb 20 20:02:49 2007 +0000 (2007-02-20)
parents e7994a122aab
children c39a6b458bd0
files xen/arch/x86/hvm/io.c xen/arch/x86/hvm/platform.c
line diff
     1.1 --- a/xen/arch/x86/hvm/io.c	Tue Feb 20 17:05:50 2007 +0000
     1.2 +++ b/xen/arch/x86/hvm/io.c	Tue Feb 20 20:02:49 2007 +0000
     1.3 @@ -533,6 +533,7 @@ static void hvm_mmio_assist(struct cpu_u
     1.4          break;
     1.5  
     1.6      case INSTR_LODS:
     1.7 +        set_reg_value(size, 0, 0, regs, p->data);
     1.8          sign = p->df ? -1 : 1;
     1.9          regs->esi += sign * p->count * p->size;
    1.10          if (mmio_opp->flags & REPZ)
     2.1 --- a/xen/arch/x86/hvm/platform.c	Tue Feb 20 17:05:50 2007 +0000
     2.2 +++ b/xen/arch/x86/hvm/platform.c	Tue Feb 20 20:02:49 2007 +0000
     2.3 @@ -1136,6 +1136,7 @@ void handle_mmio(unsigned long gpa)
     2.4           * Since the source is always in (contiguous) mmio space we don't
     2.5           * need to break it up into pages.
     2.6           */
     2.7 +        mmio_op->operand[0] = mk_operand(op_size, 0, 0, REGISTER);
     2.8          send_mmio_req(IOREQ_TYPE_COPY, gpa,
     2.9                        GET_REPEAT_COUNT(), op_size, 0, IOREQ_READ, df, 0);
    2.10          break;