Re: [kvm-unit-tests PATCH v5 1/2] s390x: Add specification exception test

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 8/24/22 11:35, Janosch Frank wrote:
On 7/20/22 16:25, Janis Schoetterl-Glausch wrote:
Generate specification exceptions and check that they occur.

Signed-off-by: Janis Schoetterl-Glausch <scgl@xxxxxxxxxxxxx>
---
   s390x/Makefile           |   1 +
   lib/s390x/asm/arch_def.h |   5 ++
   s390x/spec_ex.c          | 180 +++++++++++++++++++++++++++++++++++++++
   s390x/unittests.cfg      |   3 +
   4 files changed, 189 insertions(+)
   create mode 100644 s390x/spec_ex.c

diff --git a/s390x/Makefile b/s390x/Makefile
index efd5e0c1..58b1bf54 100644
--- a/s390x/Makefile
+++ b/s390x/Makefile
@@ -27,6 +27,7 @@ tests += $(TEST_DIR)/uv-host.elf
   tests += $(TEST_DIR)/edat.elf
   tests += $(TEST_DIR)/mvpg-sie.elf
   tests += $(TEST_DIR)/spec_ex-sie.elf
+tests += $(TEST_DIR)/spec_ex.elf
   tests += $(TEST_DIR)/firq.elf
   tests += $(TEST_DIR)/epsw.elf
   tests += $(TEST_DIR)/adtl-status.elf
diff --git a/lib/s390x/asm/arch_def.h b/lib/s390x/asm/arch_def.h
index 78b257b7..8fbc451c 100644
--- a/lib/s390x/asm/arch_def.h
+++ b/lib/s390x/asm/arch_def.h
@@ -41,6 +41,11 @@ struct psw {
   	uint64_t	addr;
   };
+struct short_psw {
+	uint32_t	mask;
+	uint32_t	addr;
+};
+
   #define AS_PRIM				0
   #define AS_ACCR				1
   #define AS_SECN				2
diff --git a/s390x/spec_ex.c b/s390x/spec_ex.c
new file mode 100644
index 00000000..77fc6246
--- /dev/null
+++ b/s390x/spec_ex.c
@@ -0,0 +1,180 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Copyright IBM Corp. 2021, 2022
+ *
+ * Specification exception test.
+ * Tests that specification exceptions occur when expected.
+ *
+ * Can be extended by adding triggers to spec_ex_triggers, see comments below.
+ */
+#include <stdlib.h>

Which things are you hoping to include from stdlib.h?
As we normally use libcflat including external files can be pretty
dangerous.

Ignore that comment, we have stdlib in the lib...



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux