qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: David Hildenbrand <david@redhat.com>
To: qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>,
	Aurelien Jarno <aurelien@aurel32.net>,
	thuth@redhat.com, cohuck@redhat.com, david@redhat.com,
	borntraeger@de.ibm.com, Alexander Graf <agraf@suse.de>
Subject: [Qemu-devel] [PATCH v1 11/11] target/s390x: use program_interrupt() in per_check_exception()
Date: Wed, 30 Aug 2017 19:06:01 +0200	[thread overview]
Message-ID: <20170830170601.15855-12-david@redhat.com> (raw)
In-Reply-To: <20170830170601.15855-1-david@redhat.com>

I am not sure if we are handling ilen the right way here. ilen should
always match the instruction triggering the exception. This is relevant
for per exceptions triggered via EXECUTE instructions. The ilen to be
indicated has to match the EXECUTE instruction.

Clean it up for now but leave ilen as is, we can fix that later.

Signed-off-by: David Hildenbrand <david@redhat.com>
---
 target/s390x/misc_helper.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/target/s390x/misc_helper.c b/target/s390x/misc_helper.c
index eb7accc0ce..ac9657f23f 100644
--- a/target/s390x/misc_helper.c
+++ b/target/s390x/misc_helper.c
@@ -445,14 +445,11 @@ void HELPER(chsc)(CPUS390XState *env, uint64_t inst)
 #ifndef CONFIG_USER_ONLY
 void HELPER(per_check_exception)(CPUS390XState *env)
 {
-    CPUState *cs = CPU(s390_env_get_cpu(env));
+    uint32_t ilen;
 
     if (env->per_perc_atmid) {
-        env->int_pgm_code = PGM_PER;
-        env->int_pgm_ilen = get_ilen(cpu_ldub_code(env, env->per_address));
-
-        cs->exception_index = EXCP_PGM;
-        cpu_loop_exit(cs);
+        ilen = get_ilen(cpu_ldub_code(env, env->per_address));
+        program_interrupt(env, PGM_PER, ilen);
     }
 }
 
-- 
2.13.5

  parent reply	other threads:[~2017-08-30 17:06 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-30 17:05 [Qemu-devel] [PATCH v1 00/11] next round of s390x cleanups David Hildenbrand
2017-08-30 17:05 ` [Qemu-devel] [PATCH v1 01/11] exec, dump: don't include exec/exec-all.h explicitly David Hildenbrand
2017-08-30 18:55   ` Thomas Huth
2017-08-31 13:06     ` David Hildenbrand
2017-08-31 14:21   ` Cornelia Huck
2017-09-01 15:18     ` David Hildenbrand
2017-08-30 17:05 ` [Qemu-devel] [PATCH v1 02/11] cpu: drop old comments describing members David Hildenbrand
2017-08-31 14:23   ` Cornelia Huck
2017-08-30 17:05 ` [Qemu-devel] [PATCH v1 03/11] s390x: store cpu states inside machine state David Hildenbrand
2017-08-30 20:58   ` Thomas Huth
2017-08-31 13:11     ` David Hildenbrand
2017-08-31 14:29       ` Cornelia Huck
2017-08-31 14:30         ` David Hildenbrand
2017-08-31 14:38           ` Cornelia Huck
2017-08-31 14:39             ` David Hildenbrand
2017-08-31 14:23     ` David Hildenbrand
2017-08-31 14:31       ` Thomas Huth
2017-08-31 14:36         ` David Hildenbrand
2017-08-31 14:45           ` Thomas Huth
2017-08-30 17:05 ` [Qemu-devel] [PATCH v1 04/11] s390x: get rid of s390-virtio.c David Hildenbrand
2017-08-31  9:13   ` Thomas Huth
2017-08-31 13:14     ` David Hildenbrand
2017-08-31 11:47   ` Christian Borntraeger
2017-08-31 13:13   ` David Hildenbrand
2017-08-30 17:05 ` [Qemu-devel] [PATCH v1 05/11] s390x: rename s390-virtio.h to s390-virtio-hcall.h David Hildenbrand
2017-08-31  9:29   ` Thomas Huth
2017-08-31 13:18     ` David Hildenbrand
2017-08-31 13:20       ` Thomas Huth
2017-08-30 17:05 ` [Qemu-devel] [PATCH v1 06/11] target/s390x: cleanup cpu number/address handling David Hildenbrand
2017-08-31 14:35   ` Cornelia Huck
2017-08-31 14:41     ` David Hildenbrand
2017-08-31 14:49       ` Cornelia Huck
2017-08-31 16:03     ` Igor Mammedov
2017-08-31 16:08       ` Cornelia Huck
2017-08-30 17:05 ` [Qemu-devel] [PATCH v1 07/11] target/s390x: rename next_cpu_id to next_cpu_addr David Hildenbrand
2017-08-30 17:05 ` [Qemu-devel] [PATCH v1 08/11] s390x: allow only 1 CPU with TCG David Hildenbrand
2017-08-30 19:06   ` Thomas Huth
2017-08-31  6:42     ` Cornelia Huck
2017-08-31 13:24     ` David Hildenbrand
2017-08-31 14:41   ` Cornelia Huck
2017-08-31 15:03     ` David Hildenbrand
2017-08-31 15:07       ` Cornelia Huck
2017-08-31 15:33         ` David Hildenbrand
2017-08-31 16:06           ` Cornelia Huck
2017-08-30 17:05 ` [Qemu-devel] [PATCH v1 09/11] target/s390x: tcg_s390_program_interrupt() will never return David Hildenbrand
2017-08-30 20:45   ` Thomas Huth
2017-08-31 12:14     ` David Hildenbrand
2017-08-30 17:06 ` [Qemu-devel] [PATCH v1 10/11] target/s390x: use trigger_pgm_exception() in s390_cpu_handle_mmu_fault() David Hildenbrand
2017-08-30 19:11   ` Thomas Huth
2017-08-31 13:34     ` David Hildenbrand
2017-08-30 17:06 ` David Hildenbrand [this message]
2017-08-31  9:37   ` [Qemu-devel] [PATCH v1 11/11] target/s390x: use program_interrupt() in per_check_exception() Thomas Huth
2017-08-31 14:45 ` [Qemu-devel] [PATCH v1 00/11] next round of s390x cleanups Cornelia Huck

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170830170601.15855-12-david@redhat.com \
    --to=david@redhat.com \
    --cc=agraf@suse.de \
    --cc=aurelien@aurel32.net \
    --cc=borntraeger@de.ibm.com \
    --cc=cohuck@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=richard.henderson@linaro.org \
    --cc=thuth@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).