Browse Source
Add a small test to prevent regressions. Cc: qemu-stable@nongnu.org Reviewed-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com> Message-ID: <20251016175954.41153-5-iii@linux.ibm.com> Signed-off-by: Thomas Huth <thuth@redhat.com>pull/307/head
committed by
Thomas Huth
2 changed files with 64 additions and 0 deletions
@ -0,0 +1,63 @@ |
|||
/* |
|||
* Test clock comparator. |
|||
* |
|||
* SPDX-License-Identifier: GPL-2.0-or-later |
|||
*/ |
|||
.org 0x130 |
|||
ext_old_psw: |
|||
.org 0x1b0 |
|||
ext_new_psw: |
|||
.quad 0x180000000, _ext /* 64-bit mode */ |
|||
.org 0x1d0 |
|||
pgm_new_psw: |
|||
.quad 0x2000000000000,0 /* disabled wait */ |
|||
.org 0x200 /* lowcore padding */ |
|||
|
|||
.globl _start |
|||
_start: |
|||
lpswe start31_psw |
|||
_start31: |
|||
stctg %c0,%c0,c0 |
|||
oi c0+6,8 /* set clock-comparator subclass mask */ |
|||
lctlg %c0,%c0,c0 |
|||
|
|||
0: |
|||
brasl %r14,_f /* %r14's most significant bit is 1 */ |
|||
jg 0b |
|||
_f: |
|||
br %r14 /* it must not end up in ext_old_psw */ |
|||
|
|||
_ext: |
|||
stg %r0,ext_saved_r0 |
|||
|
|||
lg %r0,ext_counter |
|||
aghi %r0,1 |
|||
stg %r0,ext_counter |
|||
|
|||
cgfi %r0,0x1000 |
|||
jnz 0f |
|||
lpswe success_psw |
|||
0: |
|||
|
|||
stck clock |
|||
lg %r0,clock |
|||
agfi %r0,0x40000 /* 64us * 0x1000 =~ 0.25s */ |
|||
stg %r0,clock |
|||
sckc clock |
|||
|
|||
lg %r0,ext_saved_r0 |
|||
lpswe ext_old_psw |
|||
|
|||
.align 8 |
|||
start31_psw: |
|||
.quad 0x100000080000000,_start31 /* EX, 31-bit mode */ |
|||
success_psw: |
|||
.quad 0x2000000000000,0xfff /* see is_special_wait_psw() */ |
|||
c0: |
|||
.skip 8 |
|||
clock: |
|||
.quad 0 |
|||
ext_counter: |
|||
.quad 0 |
|||
ext_saved_r0: |
|||
.skip 8 |
|||
Loading…
Reference in new issue