diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2017-02-24 14:09:00 +0000 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2017-02-24 14:09:00 +0000 |
commit | 3f4e9a6995d3646319e3f34e0e1d458d60ebbc7a (patch) | |
tree | 322d2ed82e9af431e7ed6266d7d23a0dba0b5c8d /test4.c | |
parent | 38272df2f64313059253c0d96f4044e08054f038 (diff) |
Don't check ICSR.RETTOBASE outside an exception handler
The ICSR.RETTOBASE bit value is UNKNOWN when not inside an
exception handler, so don't try to test it in that situation.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'test4.c')
-rw-r--r-- | test4.c | 7 |
1 files changed, 5 insertions, 2 deletions
@@ -109,7 +109,10 @@ void main(void) test_equal("ENA ", 3, in32(SCB(0x100))); test_equal("PEND", 0, in32(SCB(0x200))); test_equal("ACT ", 0, in32(SCB(0x300))); - test_equal("ICSR", 0x00000000, in32(SCB(0xd04))); + /* Note that we don't compare ICSR.RETTOBASE as that bit is + * architecturally UNKNOWN outside an exception handler. + */ + test_equal("ICSR", 0x00000000, in32(SCB(0xd04)) & ~ICSR_RETTOBASE); testDiag("Pend IRQ0 (shouldn't run)"); out32(SCB(0x200), 1); @@ -117,7 +120,7 @@ void main(void) test_equal("PEND", 1, in32(SCB(0x200))); test_equal("ACT ", 0, in32(SCB(0x300))); /* ISRPENDING and VECTPENDING==16 */ - test_equal("ICSR", 0x00410000, in32(SCB(0xd04))); + test_equal("ICSR", 0x00410000, in32(SCB(0xd04)) & ~ICSR_RETTOBASE); CHECK_SEQ(1); testDiag("Unmask (should run now)"); |