mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-08 18:23:57 -06:00
tests: mv tests/* -> tests/tcg
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
a0f426109e
commit
c09015dd04
227 changed files with 5 additions and 5 deletions
194
tests/tcg/xtensa/test_interrupt.S
Normal file
194
tests/tcg/xtensa/test_interrupt.S
Normal file
|
@ -0,0 +1,194 @@
|
|||
.include "macros.inc"
|
||||
|
||||
test_suite interrupt
|
||||
|
||||
.macro clear_interrupts
|
||||
movi a2, 0
|
||||
wsr a2, intenable
|
||||
wsr a2, ccompare0
|
||||
wsr a2, ccompare1
|
||||
wsr a2, ccompare2
|
||||
esync
|
||||
rsr a2, interrupt
|
||||
wsr a2, intclear
|
||||
|
||||
esync
|
||||
rsr a2, interrupt
|
||||
assert eqi, a2, 0
|
||||
.endm
|
||||
|
||||
.macro check_l1
|
||||
rsr a2, ps
|
||||
movi a3, 0x1f /* EXCM | INTMASK */
|
||||
and a2, a2, a3
|
||||
assert eqi, a2, 0x10 /* only EXCM is set for level-1 interrupt */
|
||||
rsr a2, exccause
|
||||
assert eqi, a2, 4
|
||||
.endm
|
||||
|
||||
test rsil
|
||||
clear_interrupts
|
||||
|
||||
rsr a2, ps
|
||||
rsil a3, 7
|
||||
rsr a4, ps
|
||||
assert eq, a2, a3
|
||||
movi a2, 0xf
|
||||
and a2, a4, a2
|
||||
assert eqi, a2, 7
|
||||
xor a3, a3, a4
|
||||
movi a2, 0xfffffff0
|
||||
and a2, a3, a2
|
||||
assert eqi, a2, 0
|
||||
test_end
|
||||
|
||||
test soft_disabled
|
||||
set_vector kernel, 1f
|
||||
clear_interrupts
|
||||
|
||||
movi a2, 0x80
|
||||
wsr a2, intset
|
||||
esync
|
||||
rsr a3, interrupt
|
||||
assert eq, a2, a3
|
||||
wsr a2, intclear
|
||||
esync
|
||||
rsr a3, interrupt
|
||||
assert eqi, a3, 0
|
||||
j 2f
|
||||
1:
|
||||
test_fail
|
||||
2:
|
||||
test_end
|
||||
|
||||
test soft_intenable
|
||||
set_vector kernel, 1f
|
||||
clear_interrupts
|
||||
|
||||
movi a2, 0x80
|
||||
wsr a2, intset
|
||||
esync
|
||||
rsr a3, interrupt
|
||||
assert eq, a2, a3
|
||||
rsil a3, 0
|
||||
wsr a2, intenable
|
||||
esync
|
||||
test_fail
|
||||
1:
|
||||
check_l1
|
||||
test_end
|
||||
|
||||
test soft_rsil
|
||||
set_vector kernel, 1f
|
||||
clear_interrupts
|
||||
|
||||
movi a2, 0x80
|
||||
wsr a2, intset
|
||||
esync
|
||||
rsr a3, interrupt
|
||||
assert eq, a2, a3
|
||||
wsr a2, intenable
|
||||
rsil a3, 0
|
||||
esync
|
||||
test_fail
|
||||
1:
|
||||
check_l1
|
||||
test_end
|
||||
|
||||
test soft_waiti
|
||||
set_vector kernel, 1f
|
||||
clear_interrupts
|
||||
|
||||
movi a2, 0x80
|
||||
wsr a2, intset
|
||||
esync
|
||||
rsr a3, interrupt
|
||||
assert eq, a2, a3
|
||||
wsr a2, intenable
|
||||
waiti 0
|
||||
test_fail
|
||||
1:
|
||||
check_l1
|
||||
test_end
|
||||
|
||||
test soft_user
|
||||
set_vector kernel, 1f
|
||||
set_vector user, 2f
|
||||
clear_interrupts
|
||||
|
||||
movi a2, 0x80
|
||||
wsr a2, intset
|
||||
esync
|
||||
rsr a3, interrupt
|
||||
assert eq, a2, a3
|
||||
wsr a2, intenable
|
||||
|
||||
rsr a2, ps
|
||||
movi a3, 0x20
|
||||
or a2, a2, a3
|
||||
wsr a2, ps
|
||||
waiti 0
|
||||
1:
|
||||
test_fail
|
||||
2:
|
||||
check_l1
|
||||
test_end
|
||||
|
||||
test soft_priority
|
||||
set_vector kernel, 1f
|
||||
set_vector level3, 2f
|
||||
clear_interrupts
|
||||
|
||||
movi a2, 0x880
|
||||
wsr a2, intenable
|
||||
rsil a3, 0
|
||||
esync
|
||||
wsr a2, intset
|
||||
esync
|
||||
1:
|
||||
test_fail
|
||||
2:
|
||||
rsr a2, ps
|
||||
movi a3, 0x1f /* EXCM | INTMASK */
|
||||
and a2, a2, a3
|
||||
movi a3, 0x13
|
||||
assert eq, a2, a3 /* EXCM and INTMASK are set
|
||||
for high-priority interrupt */
|
||||
test_end
|
||||
|
||||
test eps_epc_rfi
|
||||
set_vector level3, 3f
|
||||
clear_interrupts
|
||||
reset_ps
|
||||
|
||||
movi a2, 0x880
|
||||
wsr a2, intenable
|
||||
rsil a3, 0
|
||||
rsr a3, ps
|
||||
esync
|
||||
wsr a2, intset
|
||||
1:
|
||||
esync
|
||||
2:
|
||||
test_fail
|
||||
3:
|
||||
rsr a2, eps3
|
||||
assert eq, a2, a3
|
||||
rsr a2, epc3
|
||||
movi a3, 1b
|
||||
assert ge, a2, a3
|
||||
movi a3, 2b
|
||||
assert ge, a3, a2
|
||||
movi a2, 4f
|
||||
wsr a2, epc3
|
||||
movi a2, 0x40003
|
||||
wsr a2, eps3
|
||||
rfi 3
|
||||
test_fail
|
||||
4:
|
||||
rsr a2, ps
|
||||
movi a3, 0x40003
|
||||
assert eq, a2, a3
|
||||
test_end
|
||||
|
||||
test_suite_end
|
Loading…
Add table
Add a link
Reference in a new issue