target-s390x: mvc_fast_memset: access memory through softmmu
commitfc89efe693278c79273f3bbf6b581e8a749c85b0
authorAurelien Jarno <aurelien@aurel32.net>
Fri, 12 Jun 2015 22:45:51 +0000 (13 00:45 +0200)
committerAlexander Graf <agraf@suse.de>
Wed, 17 Jun 2015 10:40:51 +0000 (17 12:40 +0200)
tree18cb5ee6fae35010c9500c96ce8196f7ee72f5d9
parentd7ce6b7a0ba4328a286d09d96395a8fc2fd6943c
target-s390x: mvc_fast_memset: access memory through softmmu

mvc_fast_memset is bypassing the softmmu functions, getting the
physical address 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 address
corresponding to the guest address through the softmmu code and fallback
to the byte level code in case the corresponding address is 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.

At the same time change the name of the function to fast_memset as it's
not specific to mvc and use the same argument order as the C memset
function.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Signed-off-by: Alexander Graf <agraf@suse.de>
target-s390x/mem_helper.c