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
State Superseded
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(-)

-- 
2.17.1

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>


-- 

Thanks,

David / dhildenb
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++) {