ia64/xen-unstable
changeset 14038:4314691c70a2
[HVM] Fix MMIO LODS emulation
Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
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;