• A
    Fix cpu_physical_memory_rw() for 64-bit I/O accesses · 6c2934db
    aurel32 提交于
    KVM uses cpu_physical_memory_rw() to access the I/O devices. When a
    read or write with a length of 8-byte is requested, it is split into 2
    4-byte accesses.
    
    This has been broken in revision 5849. After this revision, only the
    first 4 bytes are actually read/write to the device, as the target
    address is changed, so on the next iteration of the loop the next 4
    bytes are actually read/written elsewhere (in the RAM for the graphic
    card).
    
    This patch fixes screen corruption (and most probably data corruption)
    with FreeBSD/amd64. Bug #2556746 in KVM bugzilla.
    Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
    
    git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6628 c046a42c-6fe2-441c-8c8c-71466251a162
    6c2934db
exec.c 107.5 KB