|
|
|
|
|
|
|
|
|
|
xen-ia64-devel
[Xen-ia64-devel] [RFC][PATCH] fix zero extending for mmio ld1/2/4 emulat
Recently Jes Soresen found a bug in kvm/ia64 mmio emulator.
I believe xen/ia64 needs same bug fix, but I haven't confirmed
the bug and the fix.
Can anyone confirm this patch?
# HG changeset patch
# User Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
# Date 1211356962 -32400
# Node ID 9b9a503239d60b3595c772d9337c4a217960a93e
# Parent f04ce41dab843b275ccb6636290e51c591ac2a06
[IA64] fix zero extending for mmio ld1/2/4 emulation
This bug was found by Jes Soresen with kvm/ia64 as follows.
This patch is xen/ia64 counterpart.
> Only copy in the data actually requested by the instruction emulation
> and zero pad the destination register first. This avoids the problem
> where emulated mmio access got garbled data from ld2.acq instructions
> in the vga console driver.
Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
diff --git a/xen/arch/ia64/vmx/mmio.c b/xen/arch/ia64/vmx/mmio.c
--- a/xen/arch/ia64/vmx/mmio.c
+++ b/xen/arch/ia64/vmx/mmio.c
@@ -170,8 +170,9 @@
}
vmx_send_assist_req(v);
- if (dir == IOREQ_READ)
- *val = p->data;
+ if (dir == IOREQ_READ)
+ /* it's necessary to ensure zero extending */
+ *val = p->data & (~0UL >> (64 - (s * 8)));
return;
}
--
yamahata
17679_9b9a503239d6.patch
Description: Text Data
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- [Xen-ia64-devel] [RFC][PATCH] fix zero extending for mmio ld1/2/4 emulation,
Isaku Yamahata <=
|
|
|
|
|