mirror of
https://github.com/qemu/qemu.git
synced 2024-12-11 20:53:51 +08:00
d4f6e58fcb
Bare tests are standalone assembly tests that don't require linking to any libc and hence can be built with kernel only compilers. The libc tests need a compiler capable of building properly linked userspace binaries. As we don't have such a cross compiler at the moment we won't be building those tests. Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
51 lines
657 B
ArmAsm
51 lines
657 B
ArmAsm
# mach: crisv32
|
|
# output: fffffffe\n
|
|
# output: fffffffe\n
|
|
|
|
; Check basic integral-write semantics regarding flags.
|
|
|
|
.include "testutils.inc"
|
|
start
|
|
|
|
move.d 0, $r3
|
|
; A write that works. Check that flags are set correspondingly.
|
|
move.d d,r4
|
|
;; store to bring it into the tlb with the right prot bits
|
|
move.d r3,[r4]
|
|
moveq -2,r5
|
|
setf c
|
|
clearf p
|
|
move.d [r4],r3
|
|
ax
|
|
move.d r5,[r4]
|
|
move.d [r4],r3
|
|
|
|
bcc 0f
|
|
nop
|
|
fail
|
|
|
|
0:
|
|
checkr3 fffffffe
|
|
|
|
; A write that fails; check flags too.
|
|
move.d d,r4
|
|
moveq 23,r5
|
|
setf p
|
|
clearf c
|
|
move.d [r4],r3
|
|
ax
|
|
move.d r5,[r4]
|
|
move.d [r4],r3
|
|
|
|
bcs 0f
|
|
nop
|
|
fail
|
|
|
|
0:
|
|
checkr3 fffffffe
|
|
quit
|
|
|
|
.data
|
|
d:
|
|
.dword 42424242
|