mail archive of the barebox mailing list
 help / color / mirror / Atom feed
* [PATCH 0/4] OpenRISC fixes and setjmp/longjmp work
@ 2021-03-03 13:50 Stafford Horne
  2021-03-03 13:50 ` [PATCH 1/4] openrisc: Use movhi to zero registers Stafford Horne
                   ` (4 more replies)
  0 siblings, 5 replies; 8+ messages in thread
From: Stafford Horne @ 2021-03-03 13:50 UTC (permalink / raw)
  To: Barebox; +Cc: Openrisc, Ahmad Fatoum, Stafford Horne

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@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2021-03-04  1:08 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-03 13:50 [PATCH 0/4] OpenRISC fixes and setjmp/longjmp work Stafford Horne
2021-03-03 13:50 ` [PATCH 1/4] openrisc: Use movhi to zero registers Stafford Horne
2021-03-03 13:50 ` [PATCH 2/4] openrisc: Add gitignore for dtb files Stafford Horne
2021-03-03 13:50 ` [PATCH 3/4] openrisc: Add linkage.h Stafford Horne
2021-03-03 13:50 ` [PATCH 4/4] openrisc: Implement setjmp/longjmp/initjmp Stafford Horne
2021-03-03 14:03 ` [PATCH 0/4] OpenRISC fixes and setjmp/longjmp work Ahmad Fatoum
2021-03-03 14:12   ` Stafford Horne
2021-03-03 20:25     ` Stafford Horne

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox