Hello, These are the patches I came up with to get the setjmp/longjmp routines to work on OpenRISC. It seems to be working well. The patches are on github here: https://github.com/stffrdhrn/barebox/tree/openrisc-bthread I had to revert a commit to remove openrisc to do this work, I hope that can be reverted. Test output: barebox@or1ksim:/ bthread -v bthread_printer yield #1 bthread_printer yield #2 bthread_printer yield #3 bthread_printer yield #4 36441 bthread yield calls in 1s barebox@or1ksim:/ bthread -v bthread_printer yield #1 bthread_printer yield #2 bthread_printer yield #3 bthread_printer yield #4 36504 bthread yield calls in 1s barebox@or1ksim:/ bthread bthread - print info about registered bthreads print info about registered barebox threads Options: -i Print information about registered bthreads -t measure how many bthreads we currently run in 1s -c count maximum context switches in 1s -v verify correct bthread operation barebox@or1ksim:/ bthread -c bthread -c 269536 bthread context switches possible in 1s Stafford Horne (4): openrisc: Use movhi to zero registers openrisc: Add gitignore for dtb files openrisc: Add linkage.h openrisc: Implement setjmp/longjmp/initjmp arch/openrisc/Kconfig | 1 + arch/openrisc/cpu/start.S | 6 ++-- arch/openrisc/dts/.gitignore | 1 + arch/openrisc/include/asm/linkage.h | 7 ++++ arch/openrisc/include/asm/setjmp.h | 17 +++++++++ arch/openrisc/lib/Makefile | 1 + arch/openrisc/lib/setjmp.S | 56 +++++++++++++++++++++++++++++ 7 files changed, 86 insertions(+), 3 deletions(-) create mode 100644 arch/openrisc/dts/.gitignore create mode 100644 arch/openrisc/include/asm/linkage.h create mode 100644 arch/openrisc/include/asm/setjmp.h create mode 100644 arch/openrisc/lib/setjmp.S -- 2.26.2 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox