All of lore.kernel.org
 help / color / mirror / Atom feed
From: Claudio Imbrenda <imbrenda@linux.ibm.com>
To: pbonzini@redhat.com
Cc: kvm@vger.kernel.org, thuth@redhat.com, frankja@linux.ibm.com,
	Janis Schoetterl-Glausch <scgl@linux.ibm.com>
Subject: [kvm-unit-tests GIT PULL 07/12] s390x/intercept: Test invalid prefix argument to SET PREFIX
Date: Thu, 21 Jul 2022 16:06:56 +0200	[thread overview]
Message-ID: <20220721140701.146135-8-imbrenda@linux.ibm.com> (raw)
In-Reply-To: <20220721140701.146135-1-imbrenda@linux.ibm.com>

From: Janis Schoetterl-Glausch <scgl@linux.ibm.com>

According to the architecture, SET PREFIX must try to access the new
prefix area and recognize an addressing exception if the area is not
accessible.
Test that the exception occurs when we try to set a prefix higher
than the available memory.

Signed-off-by: Janis Schoetterl-Glausch <scgl@linux.ibm.com>
Message-Id: <20220627152412.2243255-1-scgl@linux.ibm.com>
Signed-off-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
---
 s390x/intercept.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/s390x/intercept.c b/s390x/intercept.c
index 86e57e11..54bed5a4 100644
--- a/s390x/intercept.c
+++ b/s390x/intercept.c
@@ -74,6 +74,22 @@ static void test_spx(void)
 	expect_pgm_int();
 	asm volatile(" spx 0(%0) " : : "r"(-8L));
 	check_pgm_int_code(PGM_INT_CODE_ADDRESSING);
+
+	new_prefix = get_ram_size() & 0x7fffe000;
+	if (get_ram_size() - new_prefix < 2 * PAGE_SIZE) {
+		expect_pgm_int();
+		asm volatile("spx	%0 " : : "Q"(new_prefix));
+		check_pgm_int_code(PGM_INT_CODE_ADDRESSING);
+
+		/*
+		 * Cannot test inaccessibility of the second page the same way.
+		 * If we try to use the last page as first half of the prefix
+		 * area and our ram size is a multiple of 8k, after SPX aligns
+		 * the address to 8k we have a completely accessible area.
+		 */
+	} else {
+		report_skip("inaccessible prefix area");
+	}
 }
 
 /* Test the STORE CPU ADDRESS instruction */
-- 
2.36.1


  parent reply	other threads:[~2022-07-21 14:07 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-21 14:06 [kvm-unit-tests GIT PULL 00/12] s390x: improve error reporting, more storage key tests Claudio Imbrenda
2022-07-21 14:06 ` [kvm-unit-tests GIT PULL 01/12] s390x: Fix sclp facility bit numbers Claudio Imbrenda
2022-07-21 14:06 ` [kvm-unit-tests GIT PULL 02/12] s390x: lib: SOP facility query function Claudio Imbrenda
2022-07-21 14:06 ` [kvm-unit-tests GIT PULL 03/12] s390x: Rework TEID decoding and usage Claudio Imbrenda
2022-07-21 14:06 ` [kvm-unit-tests GIT PULL 04/12] s390x: Test TEID values in storage key test Claudio Imbrenda
2022-07-21 14:06 ` [kvm-unit-tests GIT PULL 05/12] s390x: Test effect of storage keys on some more instructions Claudio Imbrenda
2022-07-21 14:06 ` [kvm-unit-tests GIT PULL 06/12] s390x: Test effect of storage keys on diag 308 Claudio Imbrenda
2022-07-21 14:06 ` Claudio Imbrenda [this message]
2022-07-21 14:06 ` [kvm-unit-tests GIT PULL 08/12] lib: s390x: add functions to set and clear PSW bits Claudio Imbrenda
2022-07-21 14:06 ` [kvm-unit-tests GIT PULL 09/12] s390x: skey.c: rework the interrupt handler Claudio Imbrenda
2022-07-21 14:06 ` [kvm-unit-tests GIT PULL 10/12] lib: s390x: better smp interrupt checks Claudio Imbrenda
2022-07-21 14:07 ` [kvm-unit-tests GIT PULL 11/12] s390x: intercept: fence one test when using TCG Claudio Imbrenda
2022-07-21 14:07 ` [kvm-unit-tests GIT PULL 12/12] s390x: intercept: make sure all output lines are unique Claudio Imbrenda
2022-07-21 14:42 ` [kvm-unit-tests GIT PULL 00/12] s390x: improve error reporting, more storage key tests 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=20220721140701.146135-8-imbrenda@linux.ibm.com \
    --to=imbrenda@linux.ibm.com \
    --cc=frankja@linux.ibm.com \
    --cc=kvm@vger.kernel.org \
    --cc=pbonzini@redhat.com \
    --cc=scgl@linux.ibm.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.