Status of RISCV port on sis

Jiri Gaisler jiri at
Mon Jan 7 14:21:33 UTC 2019

I have now made a bsp for a RISCV/GRLIB system, and have been running
the testsuite on sis/RISCV. I have a few remaining failures:

$ rtems-test --rtems-bsp=riscv-sis riscv-rtems5/c/grlib/testsuites

Passed:        569
Failed:          5
User Input:      5
Expected Fail:   0
Indeterminate:   0
Benchmark:       3
Timeout:         0
Invalid:         0
Wrong Version:   0
Wrong Build:     0
Wrong Tools:     0
Total:         582
User Input:
Average test time: 0:00:00.483282
Testing time     : 0:04:41.270156

The sp37 test fails with an interesting error:

 *** BEGIN OF TEST SP 37 ***
] *** TEST VERSION: 5.0.0.eba55a6ad63a1433f50ba0d627394f447bacd04f-modified
] *** TEST TOOLS: 9.0.0 20181112 (RTEMS 5, RSB
96673d751ab488d5d892ae67c1842aef9d5c068b, Newlib
185 normal_interrupt_level != _ISR_Get_level()
] *** FATAL ***

The RISCV port has only two interrupt levels (on/off), and it seems that
when a task at level one (irq off) is deleted, the heir inherits
interrupt level one rather then restore its original level. Has anyone
seen this on RISCV before? It is probably something in my setup (sim or
bsp) but the test runs without interrupts and always fails the same way
regardless of compiler optimization etc.

The spintrcriticalXX tests fail with a zapped return address during
interrupt return, I am still looking into this.

Any inputs are welcome, as I have some problems of debugging this ...


More information about the devel mailing list