diff mbox series

[v2,2/2] tests/tcg/s390x: Test unaligned accesses to lowcore

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

Commit Message

Ilya Leoshkevich July 22, 2022, 11:36 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     | 19 +++++++++++++++++++
 2 files changed, 28 insertions(+)
 create mode 100644 tests/tcg/s390x/Makefile.softmmu-target
 create mode 100644 tests/tcg/s390x/unaligned-lowcore.S

Comments

Richard Henderson July 24, 2022, 10:39 p.m. UTC | #1
On 7/23/22 05:06, Ilya Leoshkevich wrote:
> Add a small test to avoid regressions.
> 
> Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>

Acked-by: Richard Henderson <richard.henderson@linaro.org>


r~


> ---
>   tests/tcg/s390x/Makefile.softmmu-target |  9 +++++++++
>   tests/tcg/s390x/unaligned-lowcore.S     | 19 +++++++++++++++++++
>   2 files changed, 28 insertions(+)
>   create mode 100644 tests/tcg/s390x/Makefile.softmmu-target
>   create mode 100644 tests/tcg/s390x/unaligned-lowcore.S
> 
> 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..246b517f11
> --- /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
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..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..246b517f11
--- /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