On 08/10/2025 16.14, Philippe Mathieu-Daudé wrote:
> In order to simplify the next commit, move the
> trigger_access_exception() call after the address_space_rw()
> calls. No logical change intended.
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
> target/s390x/mmu_helper.c | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/target/s390x/mmu_helper.c b/target/s390x/mmu_helper.c
> index 487c41bf933..22d3d4a97df 100644
> --- a/target/s390x/mmu_helper.c
> +++ b/target/s390x/mmu_helper.c
> @@ -541,9 +541,7 @@ int s390_cpu_virt_mem_rw(S390CPU *cpu, vaddr laddr, uint8_t ar, void *hostbuf,
> pages = g_malloc(nr_pages * sizeof(*pages));
>
> ret = translate_pages(cpu, laddr, nr_pages, pages, is_write, &tec);
> - if (ret) {
> - trigger_access_exception(&cpu->env, ret, tec);
> - } else if (hostbuf != NULL) {
> + if (ret == 0 && hostbuf != NULL) {
> AddressSpace *as = CPU(cpu)->as;
>
> /* Copy data by stepping through the area page by page */
> @@ -556,6 +554,9 @@ int s390_cpu_virt_mem_rw(S390CPU *cpu, vaddr laddr, uint8_t ar, void *hostbuf,
> len -= currlen;
> }
> }
> + if (ret) {
> + trigger_access_exception(&cpu->env, ret, tec);
> + }
>
> g_free(pages);
> return ret;
Reviewed-by: Thomas Huth <thuth@redhat.com>