Messages in this thread | | | Date | Mon, 18 Jun 2007 14:32:39 +0300 | From | Avi Kivity <> | Subject | Re: [PATCH 1/2] kvm: Fix x86 emulator writeback |
| |
Avi Kivity wrote: > Luca Tettamanti wrote: >> When the old value and new one are the same the emulator skips the >> write; this is undesiderable when the destination is a MMIO area and the >> write shall be performed regardless of the previous value. This >> optimization breaks e.g. a Linux guest APIC compiled without >> X86_GOOD_APIC. >> >> Remove the check and always perform the writeback stage in the >> emulation. >> >> > > Unfortunately, this kills Windows XP (first run with a guest crash, > second with a host oops), so I reverted it. I'd guess some operation > which doesn't need writeback ends up in the modified code. > Previously, the check caused it to skip writeback, but now it writes > back random memory, causing a crash. >
There are comments around like
> /* Disable writeback. */ > dst.orig_val = dst.val;
Best option is probably to add an explicit disable_writeback flag and set it there.
-- error compiling committee.c: too many arguments to function
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |