• A
    target-s390x: use softmmu functions for mvcp/mvcs · a3084e80
    Aurelien Jarno 提交于
    mvcp and mvcs helper get access to the physical memory by a call to
    mmu_translate for the virtual to real conversion and then using ldb_phys
    and stb_phys to physically access the data. In practice this is quite
    slow because it bypasses the QEMU softmmu TLB and because stb_phys calls
    try to invalidate the corresponding memory for each access.
    
    Instead use cpu_ldb_{primary,secondary} for the loads and
    cpu_stb_{primary,secondary} for the stores. Ideally this should be
    further optimized by a call to memcpy, but that already improves the
    boot time of a guest by a factor 1.8.
    Signed-off-by: NAurelien Jarno <aurelien@aurel32.net>
    Reviewed-by: NRichard Henderson <rth@twiddle.net>
    Signed-off-by: NAlexander Graf <agraf@suse.de>
    a3084e80
mem_helper.c 29.5 KB