[PATCH 0/4] OpenRISC fixes and setjmp/longjmp work
Ahmad Fatoum
a.fatoum at pengutronix.de
Wed Mar 3 14:03:11 GMT 2021
Hello Stafford,
On 03.03.21 14:50, Stafford Horne wrote:
> 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.
Great. Thanks for taking the time!
Could this be tested on qemu-system-or1k? If so, it would be great to have this
documented in-tree, so future changes could be tested.
Cheers,
Ahmad
>
> Test output:
>
> barebox at 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 at 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 at 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 at 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
>
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
More information about the barebox
mailing list