diff mbox

[v2,1/2] target/s390x: specification exceptions are suppressing

Message ID 20170609133426.11447-2-david@redhat.com (mailing list archive)
State New, archived
Headers show

Commit Message

David Hildenbrand June 9, 2017, 1:34 p.m. UTC
The PSW in the old PSW has to point at the next instruction, as
specification exceptions are defined to be "suppressing or completed",
but not nullified.

Signed-off-by: David Hildenbrand <david@redhat.com>
---
 target/s390x/helper.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Richard Henderson June 9, 2017, 10:03 p.m. UTC | #1
On 06/09/2017 06:34 AM, David Hildenbrand wrote:
> The PSW in the old PSW has to point at the next instruction, as
> specification exceptions are defined to be "suppressing or completed",
> but not nullified.
> 
> Signed-off-by: David Hildenbrand <david@redhat.com>
> ---
>   target/s390x/helper.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/target/s390x/helper.c b/target/s390x/helper.c
> index a8d20c5..42a2465 100644
> --- a/target/s390x/helper.c
> +++ b/target/s390x/helper.c
> @@ -737,6 +737,6 @@ void s390x_cpu_do_unaligned_access(CPUState *cs, vaddr addr,
>       if (retaddr) {
>           cpu_restore_state(cs, retaddr);
>       }
> -    program_interrupt(env, PGM_SPECIFICATION, ILEN_LATER);
> +    program_interrupt(env, PGM_SPECIFICATION, ILEN_LATER_INC);

I folded this into your following patch to use ILEN_AUTO.


r~
diff mbox

Patch

diff --git a/target/s390x/helper.c b/target/s390x/helper.c
index a8d20c5..42a2465 100644
--- a/target/s390x/helper.c
+++ b/target/s390x/helper.c
@@ -737,6 +737,6 @@  void s390x_cpu_do_unaligned_access(CPUState *cs, vaddr addr,
     if (retaddr) {
         cpu_restore_state(cs, retaddr);
     }
-    program_interrupt(env, PGM_SPECIFICATION, ILEN_LATER);
+    program_interrupt(env, PGM_SPECIFICATION, ILEN_LATER_INC);
 }
 #endif /* CONFIG_USER_ONLY */