qemu/target-s390x
Aurelien Jarno 6da528d14d 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>
2015-06-17 12:40:51 +02:00
..
arch_dump.c s390x: Add vector registers to ELF dump 2015-05-27 17:52:03 +02:00
cc_helper.c target-s390x: fix CC computation for LOAD POSITIVE instructions 2015-06-05 01:37:57 +02:00
cpu-qom.h s390x/kvm: migrate vcpu interrupt state 2015-05-08 10:36:19 +02:00
cpu.c target-s390x: fix s390_cpu_initial_reset 2015-06-17 12:40:50 +02:00
cpu.h target-s390x: fix setcc in TCG mode 2015-06-17 12:40:50 +02:00
fpu_helper.c target-s390x: implement LOAD FP INTEGER instructions 2015-06-05 01:37:59 +02:00
gdbstub.c s390x: gdb updates for vector registers 2015-05-27 17:52:03 +02:00
helper.c target-s390x: support non current ASC in s390_cpu_handle_mmu_fault 2015-06-05 01:37:59 +02:00
helper.h target-s390x: wire up I/O instructions in TCG mode 2015-06-17 12:40:50 +02:00
insn-data.def target-s390x: wire up I/O instructions in TCG mode 2015-06-17 12:40:50 +02:00
insn-format.def target-s390: Add format based disassassmbly infrastructure 2013-01-05 12:00:27 -08:00
int_helper.c target-s390x: remove unused helpers 2015-06-05 01:37:57 +02:00
interrupt.c s390x: Fix sclp console input 2014-11-05 12:01:28 +01:00
ioinst.c s390/ioinst: fix endianness in ioinst_schib_valid 2015-06-17 12:40:50 +02:00
ioinst.h s390/ioinst: fix IO_INT_WORD_ISC macro 2015-06-17 12:40:50 +02:00
kvm.c s390x/kvm: diag288 instruction interception and handling 2015-06-11 17:45:49 +02:00
machine.c migration: Use normal VMStateDescriptions for Subsections 2015-06-12 06:53:57 +02:00
Makefile.objs s390x/mmu: Move mmu_translate() and friends to separate file 2015-02-18 09:36:38 +01:00
mem_helper.c target-s390x: mvc_fast_memmove: access memory through softmmu 2015-06-17 12:40:51 +02:00
misc_helper.c target-s390x: wire up I/O instructions in TCG mode 2015-06-17 12:40:50 +02:00
mmu_helper.c target-s390x: Only access allocated storage keys 2015-06-05 01:38:00 +02:00
translate.c target-s390x: wire up I/O instructions in TCG mode 2015-06-17 12:40:50 +02:00