summaryrefslogtreecommitdiffstats
path: root/target-s390x/cpu.h
diff options
context:
space:
mode:
authorAurelien Jarno <aurelien@aurel32.net>2015-06-13 00:45:52 +0200
committerAlexander Graf <agraf@suse.de>2015-06-17 12:40:51 +0200
commit6da528d14de29138ca5ac43d6d059889dd24f464 (patch)
tree7357ac9ac39318f526c08fbcd35d136b2d3ba5c1 /target-s390x/cpu.h
parentfc89efe693278c79273f3bbf6b581e8a749c85b0 (diff)
downloadhqemu-6da528d14de29138ca5ac43d6d059889dd24f464.zip
hqemu-6da528d14de29138ca5ac43d6d059889dd24f464.tar.gz
target-s390x: mvc_fast_memmove: access memory through softmmu
mvc_fast_memmove is bypassing the softmmu functions, getting the physical source and destination addresses using the mmu_translate function and accessing the corresponding physical memory. This prevents watchpoints to work correctly. Instead use the tlb_vaddr_to_host function to get the host addresses corresponding to the guest source and destination addresses through the softmmu code and fallback to the byte level code in case the corresponding address are not in the QEMU TLB or being examined through a watchpoint. As a bonus it works even for area crossing pages by splitting the are into chunks contained in a single page, bringing some performances improvements. We can therefore remove the 8-byte loads/stores method, as it is now quite unlikely to be used. At the same time change the name of the function to fast_memmove as it's not specific to mvc and use the same argument order as the C memmove function. Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'target-s390x/cpu.h')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud