diff mbox series

[3/3] tests/tcg/s390x: Test unaligned accesses to lowcore

Message ID 20220711185640.3558813-4-iii@linux.ibm.com (mailing list archive)
State New, archived
Headers show
Series accel/tcg: Fix unaligned stores to s390x low-address-protected lowcore | expand

Commit Message

Ilya Leoshkevich July 11, 2022, 6:56 p.m. UTC
Add a small test to avoid regressions.

Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
---
 tests/tcg/s390x/Makefile.softmmu-target |  9 +++++++++
 tests/tcg/s390x/unaligned-lowcore.S     | 24 ++++++++++++++++++++++++
 2 files changed, 33 insertions(+)
 create mode 100644 tests/tcg/s390x/Makefile.softmmu-target
 create mode 100644 tests/tcg/s390x/unaligned-lowcore.S
diff mbox series

Patch

diff --git a/tests/tcg/s390x/Makefile.softmmu-target b/tests/tcg/s390x/Makefile.softmmu-target
new file mode 100644
index 0000000000..fdee4a7616
--- /dev/null
+++ b/tests/tcg/s390x/Makefile.softmmu-target
@@ -0,0 +1,9 @@ 
+S390X_SRC=$(SRC_PATH)/tests/tcg/s390x
+VPATH+=$(S390X_SRC)
+QEMU_OPTS=-device mmio-debug-exit,base=0x2000 -kernel
+
+%: %.S
+	$(CC) -march=z13 -m64 -nostartfiles -static -Wl,-Ttext=0 \
+		-Wl,--build-id=none $< -o $@
+
+TESTS += unaligned-lowcore
diff --git a/tests/tcg/s390x/unaligned-lowcore.S b/tests/tcg/s390x/unaligned-lowcore.S
new file mode 100644
index 0000000000..2b34c3d5ef
--- /dev/null
+++ b/tests/tcg/s390x/unaligned-lowcore.S
@@ -0,0 +1,24 @@ 
+    .org 0x1D0                 /* Program new PSW */
+    .quad 0x180000000, _pgm    /* BA, EA */
+    .org 0x200                 /* lowcore padding */
+
+    .globl _start
+_start:
+    lctlg %c0,%c0,_c0
+    vst %v0,_unaligned
+    mviy _exit,0
+
+_pgm:
+    mviy _exit,1
+
+    .align 8
+_c0:
+    .quad 0x10060000           /* lowcore protection, AFP, VX */
+
+    .byte 0
+_unaligned:
+    .octa 0
+
+    .org 0x2000                /* mmio-debug-exit base */
+_exit:
+    .byte 0