]> git.proxmox.com Git - mirror_qemu.git/commit
s390x: handle exceptions during s390_cpu_virt_mem_rw() correctly (TCG)
authorDavid Hildenbrand <david@redhat.com>
Thu, 30 Nov 2017 16:27:35 +0000 (17:27 +0100)
committerCornelia Huck <cohuck@redhat.com>
Thu, 14 Dec 2017 16:56:54 +0000 (17:56 +0100)
commit98ee9bedc734e18287902f39e3a3a8adb399386a
tree7e1c49972b582b15bdb2f2c4b75869d136275104
parent968db419de26d3011670ca7eeab57424f93cd888
s390x: handle exceptions during s390_cpu_virt_mem_rw() correctly (TCG)

s390_cpu_virt_mem_rw() must always return, so callers can react on
an exception (e.g. see ioinst_handle_stcrw()).

However, for TCG we always have to exit the cpu loop (and restore the
cpu state before that) if we injected a program interrupt. So let's
introduce and use s390_cpu_virt_mem_handle_exc() in code that is not
purely KVM.

Directly pass the retaddr we already have available in these functions.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: David Hildenbrand <david@redhat.com>
Message-Id: <20171130162744.25442-8-david@redhat.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
hw/s390x/s390-pci-inst.c
target/s390x/cpu.h
target/s390x/ioinst.c
target/s390x/mmu_helper.c