tests/tcg/xtensa: conditionalize and expand SR tests
Make tests for specific special registers conditional on the presence of the options that add these registers and test that the registers are not accessible otherwise. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
This commit is contained in:
parent
02a5a4a877
commit
50d3a0feae
@ -42,50 +42,183 @@ test_end
|
||||
test_sr_mask \sr, \conf, 7
|
||||
.endm
|
||||
|
||||
#if XCHAL_HAVE_MAC16
|
||||
test_sr acchi, 1
|
||||
test_sr acclo, 1
|
||||
#else
|
||||
test_sr_mask /*acchi*/17, 0, 0
|
||||
test_sr_mask /*acclo*/16, 0, 0
|
||||
#endif
|
||||
|
||||
#if XCHAL_HAVE_S32C1I && XCHAL_HW_VERSION >= 230000
|
||||
test_sr atomctl, 1
|
||||
#else
|
||||
test_sr_mask /*atomctl*/99, 0, 0
|
||||
#endif
|
||||
|
||||
#if XCHAL_HAVE_BOOLEANS
|
||||
test_sr br, 1
|
||||
#else
|
||||
test_sr_mask /*br*/4, 0, 0
|
||||
#endif
|
||||
|
||||
test_sr_mask /*cacheattr*/98, 0, 0
|
||||
|
||||
#if XCHAL_HAVE_CCOUNT
|
||||
test_sr ccompare0, 1
|
||||
test_sr ccount, 1
|
||||
#else
|
||||
test_sr_mask /*ccompare0*/240, 0, 0
|
||||
test_sr_mask /*ccount*/234, 0, 0
|
||||
#endif
|
||||
|
||||
#if XCHAL_HAVE_CP
|
||||
test_sr cpenable, 1
|
||||
#else
|
||||
test_sr_mask /*cpenable*/224, 0, 0
|
||||
#endif
|
||||
|
||||
#if XCHAL_HAVE_DEBUG
|
||||
#if XCHAL_NUM_DBREAK
|
||||
test_sr dbreaka0, 1
|
||||
test_sr dbreakc0, 1
|
||||
#endif
|
||||
test_sr_mask debugcause, 1, 1
|
||||
#else
|
||||
test_sr_mask /*dbreaka0*/144, 0, 0
|
||||
test_sr_mask /*dbreakc0*/160, 0, 0
|
||||
test_sr_mask /*debugcause*/233, 0, 0
|
||||
#endif
|
||||
|
||||
test_sr depc, 1
|
||||
|
||||
#if XCHAL_HAVE_PTP_MMU
|
||||
test_sr dtlbcfg, 1
|
||||
#else
|
||||
test_sr_mask /*dtlbcfg*/92, 0, 0
|
||||
#endif
|
||||
|
||||
test_sr epc1, 1
|
||||
|
||||
#if XCHAL_NUM_INTLEVELS > 1
|
||||
test_sr epc2, 1
|
||||
test_sr eps2, 1
|
||||
#else
|
||||
test_sr_mask /*epc2*/178, 0, 0
|
||||
test_sr_mask /*eps2*/194, 0, 0
|
||||
#endif
|
||||
|
||||
test_sr exccause, 1
|
||||
test_sr excsave1, 1
|
||||
|
||||
#if XCHAL_NUM_INTLEVELS > 1
|
||||
test_sr excsave2, 1
|
||||
#else
|
||||
test_sr_mask /*excsave2*/210, 0, 0
|
||||
#endif
|
||||
|
||||
test_sr excvaddr, 1
|
||||
|
||||
#if XCHAL_HAVE_DEBUG
|
||||
#if XCHAL_NUM_IBREAK
|
||||
test_sr ibreaka0, 1
|
||||
test_sr ibreakenable, 1
|
||||
#endif
|
||||
test_sr icount, 1
|
||||
test_sr icountlevel, 1
|
||||
#else
|
||||
test_sr_mask /*ibreaka0*/128, 0, 0
|
||||
test_sr_mask /*ibreakenable*/96, 0, 0
|
||||
test_sr_mask /*icount*/236, 0, 0
|
||||
test_sr_mask /*icountlevel*/237, 0, 0
|
||||
#endif
|
||||
|
||||
test_sr_mask /*intclear*/227, 0, 2
|
||||
test_sr_mask /*interrupt*/226, 0, 3
|
||||
test_sr intenable, 1
|
||||
|
||||
#if XCHAL_HAVE_PTP_MMU
|
||||
test_sr itlbcfg, 1
|
||||
#else
|
||||
test_sr_mask /*itlbcfg*/91, 0, 0
|
||||
#endif
|
||||
|
||||
#if XCHAL_HAVE_LOOPS
|
||||
test_sr lbeg, 1
|
||||
test_sr lcount, 1
|
||||
test_sr lend, 1
|
||||
#else
|
||||
test_sr_mask /*lbeg*/0, 0, 0
|
||||
test_sr_mask /*lcount*/2, 0, 0
|
||||
test_sr_mask /*lend*/1, 0, 0
|
||||
#endif
|
||||
|
||||
#if XCHAL_HAVE_ABSOLUTE_LITERALS
|
||||
test_sr litbase, 1
|
||||
#else
|
||||
test_sr_mask /*litbase*/5, 0, 0
|
||||
#endif
|
||||
|
||||
#if XCHAL_HAVE_MAC16
|
||||
test_sr m0, 1
|
||||
#else
|
||||
test_sr_mask /*m0*/32, 0, 0
|
||||
#endif
|
||||
|
||||
#if XCHAL_HW_VERSION >= 250000
|
||||
test_sr_mask /*memctl*/97, 0, 7
|
||||
#else
|
||||
test_sr_mask /*memctl*/97, 0, 0
|
||||
#endif
|
||||
|
||||
#if XCHAL_NUM_MISC_REGS
|
||||
test_sr misc0, 1
|
||||
#else
|
||||
test_sr_mask /*misc0*/244, 0, 0
|
||||
#endif
|
||||
|
||||
#if XCHAL_HAVE_PREFETCH
|
||||
test_sr prefctl, 1
|
||||
#else
|
||||
test_sr_mask /*prefctl*/40, 0, 0
|
||||
#endif
|
||||
|
||||
#if XCHAL_HAVE_PRID
|
||||
test_sr_mask /*prid*/235, 0, 1
|
||||
#else
|
||||
test_sr_mask /*prid*/235, 0, 0
|
||||
#endif
|
||||
|
||||
test_sr ps, 1
|
||||
|
||||
#if XCHAL_HAVE_PTP_MMU
|
||||
test_sr ptevaddr, 1
|
||||
test_sr rasid, 1
|
||||
#else
|
||||
test_sr_mask /*ptevaddr*/83, 0, 0
|
||||
test_sr_mask /*rasid*/90, 0, 0
|
||||
#endif
|
||||
|
||||
test_sr sar, 1
|
||||
|
||||
#if XCHAL_HAVE_S32C1I
|
||||
test_sr scompare1, 1
|
||||
#else
|
||||
test_sr_mask /*scompare1*/12, 0, 0
|
||||
#endif
|
||||
|
||||
#if XCHAL_HAVE_VECBASE
|
||||
test_sr vecbase, 1
|
||||
#else
|
||||
test_sr_mask /*vecbase*/231, 0, 0
|
||||
#endif
|
||||
|
||||
#if XCHAL_HAVE_WINDOWED
|
||||
test_sr windowbase, 1
|
||||
test_sr windowstart, 1
|
||||
#else
|
||||
test_sr_mask /*windowbase*/72, 0, 0
|
||||
test_sr_mask /*windowstart*/73, 0, 0
|
||||
#endif
|
||||
|
||||
test_suite_end
|
||||
|
Loading…
Reference in New Issue
Block a user