diff mbox series

[v3,15/18] target/s390x: Rely on unwinding in s390_cpu_virt_mem_rw

Message ID 20190926162615.31168-16-richard.henderson@linaro.org (mailing list archive)
State New, archived
Headers show
Series target/s390: Use tcg unwinding for ilen | expand

Commit Message

Richard Henderson Sept. 26, 2019, 4:26 p.m. UTC
For TCG, we will always call s390_cpu_virt_mem_handle_exc,
which will go through the unwinder to set ILEN.  For KVM,
we do not go through do_program_interrupt, so this argument
is unused.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
 target/s390x/mmu_helper.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

David Hildenbrand Sept. 27, 2019, 11:04 a.m. UTC | #1
On 26.09.19 18:26, Richard Henderson wrote:
> For TCG, we will always call s390_cpu_virt_mem_handle_exc,
> which will go through the unwinder to set ILEN.  For KVM,
> we do not go through do_program_interrupt, so this argument
> is unused.
> 
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> ---
>  target/s390x/mmu_helper.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/target/s390x/mmu_helper.c b/target/s390x/mmu_helper.c
> index 5ecd9ee87e..bf7fddb056 100644
> --- a/target/s390x/mmu_helper.c
> +++ b/target/s390x/mmu_helper.c
> @@ -482,7 +482,7 @@ int s390_cpu_virt_mem_rw(S390CPU *cpu, vaddr laddr, uint8_t ar, void *hostbuf,
>  
>      ret = translate_pages(cpu, laddr, nr_pages, pages, is_write, &tec);
>      if (ret) {
> -        trigger_access_exception(&cpu->env, ret, ILEN_AUTO, tec);
> +        trigger_access_exception(&cpu->env, ret, ILEN_UNWIND, tec);
>      } else if (hostbuf != NULL) {
>          /* Copy data by stepping through the area page by page */
>          for (i = 0; i < nr_pages; i++) {
> 

Reviewed-by: David Hildenbrand <david@redhat.com>
diff mbox series

Patch

diff --git a/target/s390x/mmu_helper.c b/target/s390x/mmu_helper.c
index 5ecd9ee87e..bf7fddb056 100644
--- a/target/s390x/mmu_helper.c
+++ b/target/s390x/mmu_helper.c
@@ -482,7 +482,7 @@  int s390_cpu_virt_mem_rw(S390CPU *cpu, vaddr laddr, uint8_t ar, void *hostbuf,
 
     ret = translate_pages(cpu, laddr, nr_pages, pages, is_write, &tec);
     if (ret) {
-        trigger_access_exception(&cpu->env, ret, ILEN_AUTO, tec);
+        trigger_access_exception(&cpu->env, ret, ILEN_UNWIND, tec);
     } else if (hostbuf != NULL) {
         /* Copy data by stepping through the area page by page */
         for (i = 0; i < nr_pages; i++) {