# HG changeset patch
# User Tim Deegan <Tim.Deegan@xxxxxxxxxxxxx>
# Date 1172001769 0
# Node ID 4314691c70a211d8b8d856feec3c554423609cec
# Parent e7994a122aab535b7e13fd1686cc3b8ce5d4552a
[HVM] Fix MMIO LODS emulation
Signed-off-by: Tim Deegan <Tim.Deegan@xxxxxxxxxxxxx>
---
xen/arch/x86/hvm/io.c | 1 +
xen/arch/x86/hvm/platform.c | 1 +
2 files changed, 2 insertions(+)
diff -r e7994a122aab -r 4314691c70a2 xen/arch/x86/hvm/io.c
--- a/xen/arch/x86/hvm/io.c Tue Feb 20 17:05:50 2007 +0000
+++ b/xen/arch/x86/hvm/io.c Tue Feb 20 20:02:49 2007 +0000
@@ -533,6 +533,7 @@ static void hvm_mmio_assist(struct cpu_u
break;
case INSTR_LODS:
+ set_reg_value(size, 0, 0, regs, p->data);
sign = p->df ? -1 : 1;
regs->esi += sign * p->count * p->size;
if (mmio_opp->flags & REPZ)
diff -r e7994a122aab -r 4314691c70a2 xen/arch/x86/hvm/platform.c
--- a/xen/arch/x86/hvm/platform.c Tue Feb 20 17:05:50 2007 +0000
+++ b/xen/arch/x86/hvm/platform.c Tue Feb 20 20:02:49 2007 +0000
@@ -1136,6 +1136,7 @@ void handle_mmio(unsigned long gpa)
* Since the source is always in (contiguous) mmio space we don't
* need to break it up into pages.
*/
+ mmio_op->operand[0] = mk_operand(op_size, 0, 0, REGISTER);
send_mmio_req(IOREQ_TYPE_COPY, gpa,
GET_REPEAT_COUNT(), op_size, 0, IOREQ_READ, df, 0);
break;
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|