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
arch/or1k/crt_arch.h Normal file
View file

@ -0,0 +1,11 @@
__asm__("\
.global _start \n\
.align 4 \n\
_start: \n\
l.ori r3, r1, 0 \n\
l.addi r2, r0, -8 \n\
l.and r1, r1, r2 \n\
l.addi r1, r1, -8 \n\
l.jal __cstart \n\
l.ori r2, r0, 0 \n\
");