summaryrefslogtreecommitdiff
path: root/tests/tcg
diff options
context:
space:
mode:
Diffstat (limited to 'tests/tcg')
-rw-r--r--tests/tcg/s390x/Makefile.softmmu-target9
-rw-r--r--tests/tcg/s390x/unaligned-lowcore.S19
2 files changed, 28 insertions, 0 deletions
diff --git a/tests/tcg/s390x/Makefile.softmmu-target b/tests/tcg/s390x/Makefile.softmmu-target
new file mode 100644
index 0000000000..a34fa68473
--- /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=-action panic=exit-failure -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..f5da2ae64c
--- /dev/null
+++ b/tests/tcg/s390x/unaligned-lowcore.S
@@ -0,0 +1,19 @@
+ .org 0x1D0 /* program new PSW */
+ .quad 0x2000000000000,0 /* disabled wait */
+ .org 0x200 /* lowcore padding */
+
+ .globl _start
+_start:
+ lctlg %c0,%c0,_c0
+ vst %v0,_unaligned
+ lpswe quiesce_psw
+
+ .align 8
+quiesce_psw:
+ .quad 0x2000000000000,0xfff /* see is_special_wait_psw() */
+_c0:
+ .quad 0x10060000 /* lowcore protection, AFP, VX */
+
+ .byte 0
+_unaligned:
+ .octa 0