tests/tcg/s390x: Test CLM

Add a small test to prevent regressions.

Tested-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Message-Id: <20230724082032.66864-11-iii@linux.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
This commit is contained in:
Ilya Leoshkevich 2023-07-24 10:16:03 +02:00 committed by Thomas Huth
parent 372886d2ae
commit 285a672d29
2 changed files with 30 additions and 0 deletions

View File

@ -17,6 +17,7 @@ LDFLAGS=-nostdlib -static
ASM_TESTS = \
bal \
cksm \
clm \
exrl-ssm-early \
sam \
lpsw \

29
tests/tcg/s390x/clm.S Normal file
View File

@ -0,0 +1,29 @@
.org 0x8e
program_interruption_code:
.org 0x1d0 /* program new PSW */
.quad 0,pgm
.org 0x200 /* lowcore padding */
.globl _start
_start:
lgrl %r0,op1
clm %r0,6,op2
jle failure
lgrl %r1,bad_addr
clm %r0,0,0(%r1)
failure:
lpswe failure_psw
pgm:
chhsi program_interruption_code,5 /* addressing exception? */
jne failure
lpswe success_psw
.align 8
op1:
.quad 0x1234567887654321
op2:
.quad 0x3456789abcdef012
bad_addr:
.quad 0xffffffff00000000
success_psw:
.quad 0x2000000000000,0xfff /* see is_special_wait_psw() */
failure_psw:
.quad 0x2000000000000,0 /* disabled wait */