From: Janosch Frank <frankja@linux.ibm.com>
To: pbonzini@redhat.com
Cc: kvm@vger.kernel.org, frankja@linux.ibm.com, david@redhat.com,
borntraeger@de.ibm.com, cohuck@redhat.com,
linux-s390@vger.kernel.org, imbrenda@linux.ibm.com,
thuth@redhat.com
Subject: [kvm-unit-tests GIT PULL 10/12] s390x: lib: add teid union and clear teid from lowcore
Date: Tue, 22 Jun 2021 10:20:40 +0200 [thread overview]
Message-ID: <20210622082042.13831-11-frankja@linux.ibm.com> (raw)
In-Reply-To: <20210622082042.13831-1-frankja@linux.ibm.com>
From: Claudio Imbrenda <imbrenda@linux.ibm.com>
Add a union to represent Translation-Exception Identification (TEID).
Clear the TEID in expect_pgm_int clear_pgm_int.
Signed-off-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Reviewed-by: Janosch Frank <frankja@linux.ibm.com>
Message-Id: <20210611140705.553307-6-imbrenda@linux.ibm.com>
Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
---
lib/s390x/asm/interrupt.h | 24 ++++++++++++++++++++++++
lib/s390x/interrupt.c | 2 ++
2 files changed, 26 insertions(+)
diff --git a/lib/s390x/asm/interrupt.h b/lib/s390x/asm/interrupt.h
index bf0eb40d..d9ab0bd7 100644
--- a/lib/s390x/asm/interrupt.h
+++ b/lib/s390x/asm/interrupt.h
@@ -13,6 +13,30 @@
#define EXT_IRQ_EXTERNAL_CALL 0x1202
#define EXT_IRQ_SERVICE_SIG 0x2401
+#define TEID_ASCE_PRIMARY 0
+#define TEID_ASCE_AR 1
+#define TEID_ASCE_SECONDARY 2
+#define TEID_ASCE_HOME 3
+
+union teid {
+ unsigned long val;
+ struct {
+ unsigned long addr:52;
+ unsigned long fetch:1;
+ unsigned long store:1;
+ unsigned long reserved:6;
+ unsigned long acc_list_prot:1;
+ /*
+ * depending on the exception and the installed facilities,
+ * the m field can indicate several different things,
+ * including whether the exception was triggered by a MVPG
+ * instruction, or whether the addr field is meaningful
+ */
+ unsigned long m:1;
+ unsigned long asce_id:2;
+ };
+};
+
void register_pgm_cleanup_func(void (*f)(void));
void handle_pgm_int(struct stack_frame_int *stack);
void handle_ext_int(struct stack_frame_int *stack);
diff --git a/lib/s390x/interrupt.c b/lib/s390x/interrupt.c
index ce0003de..b627942f 100644
--- a/lib/s390x/interrupt.c
+++ b/lib/s390x/interrupt.c
@@ -22,6 +22,7 @@ void expect_pgm_int(void)
{
pgm_int_expected = true;
lc->pgm_int_code = 0;
+ lc->trans_exc_id = 0;
mb();
}
@@ -39,6 +40,7 @@ uint16_t clear_pgm_int(void)
mb();
code = lc->pgm_int_code;
lc->pgm_int_code = 0;
+ lc->trans_exc_id = 0;
pgm_int_expected = false;
return code;
}
--
2.31.1
next prev parent reply other threads:[~2021-06-22 8:21 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-22 8:20 [kvm-unit-tests GIT PULL 00/12] s390x update 2021-22-06 Janosch Frank
2021-06-22 8:20 ` [kvm-unit-tests GIT PULL 01/12] s390x: sie: Only overwrite r3 if it isn't needed anymore Janosch Frank
2021-06-22 8:20 ` [kvm-unit-tests GIT PULL 02/12] s390x: selftest: Add prefixes to fix report output Janosch Frank
2021-06-22 8:20 ` [kvm-unit-tests GIT PULL 03/12] s390x: Don't run PV testcases under tcg Janosch Frank
2021-06-22 8:20 ` [kvm-unit-tests GIT PULL 04/12] configure: s390x: Check if the host key document exists Janosch Frank
2021-06-22 8:20 ` [kvm-unit-tests GIT PULL 05/12] s390x: run: Skip PV tests when tcg is the accelerator Janosch Frank
2021-06-22 8:20 ` [kvm-unit-tests GIT PULL 06/12] s390x: lib: add and use macros for control register bits Janosch Frank
2021-06-22 8:20 ` [kvm-unit-tests GIT PULL 07/12] libcflat: add SZ_1M and SZ_2G Janosch Frank
2021-06-22 8:20 ` [kvm-unit-tests GIT PULL 08/12] s390x: lib: fix pgtable.h Janosch Frank
2021-06-22 8:20 ` [kvm-unit-tests GIT PULL 09/12] s390x: lib: Add idte and other huge pages functions/macros Janosch Frank
2021-06-22 8:20 ` Janosch Frank [this message]
2021-06-22 8:20 ` [kvm-unit-tests GIT PULL 11/12] s390x: mmu: add support for large pages Janosch Frank
2021-06-22 8:20 ` [kvm-unit-tests GIT PULL 12/12] s390x: edat test Janosch Frank
2021-06-22 8:24 ` [kvm-unit-tests GIT PULL 00/12] s390x update 2021-22-06 Paolo Bonzini
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=20210622082042.13831-11-frankja@linux.ibm.com \
--to=frankja@linux.ibm.com \
--cc=borntraeger@de.ibm.com \
--cc=cohuck@redhat.com \
--cc=david@redhat.com \
--cc=imbrenda@linux.ibm.com \
--cc=kvm@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=pbonzini@redhat.com \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.