add or1k (OpenRISC 1000) architecture port

With the exception of a fenv implementation, the port is fully featured.
The port has been tested in or1ksim, the golden reference functional
simulator for OpenRISC 1000.
It passes all libc-test tests (except the math tests that
requires a fenv implementation).

The port assumes an or1k implementation that has support for
atomic instructions (l.lwa/l.swa).

Although it passes all the libc-test tests, the port is still
in an experimental state, and has yet experienced very little
'real-world' use.
This commit is contained in:
Stefan Kristiansson 2014-07-17 22:09:10 +03:00 • committed by Rich Felker
commit 200d15479c
46 changed files with 1982 additions and 1 deletions

11
crt/or1k/crti.s Normal file
View file

@ -0,0 +1,11 @@
.section .init
.global _init
_init:
l.addi r1,r1,-4
l.sw 0(r1),r9
.section .fini
.global _fini
_fini:
l.addi r1,r1,-4
l.sw 0(r1),r9

9
crt/or1k/crtn.s Normal file
View file

@ -0,0 +1,9 @@
.section .init
l.lwz r9,0(r1)
l.jr r9
l.addi r1,r1,4
.section .fini
l.lwz r9,0(r1)
l.jr r9
l.addi r1,r1,4