Yannis Huber
7ed7e6cb11
risc-v: disable linker relaxations during gp init
2020-07-08 01:58:12 +02:00
Yannis Huber
0b94e486c1
maixbit: changes according to feedback
2020-07-08 00:21:59 +02:00
Yannis Huber
43a66b39cc
riscv: refactor assembly files to support RV64 and F extension
2020-07-08 00:21:59 +02:00
Yannis Huber
ccc604d2e0
riscv: fix offset in 64bit scheduler
...
Also keep common start.S file for 64 and 32 bit architectures.
2020-07-08 00:21:59 +02:00
Yannis Huber
dfab1aa717
maixbit (uart): serial is working with echo example
2020-07-08 00:21:59 +02:00
Ayke van Laethem
fed433c046
compiler: add support for atomic operations
...
This also implements DisableInterrupts/EnableInterrupts for RISC-V, as
those operations were needed to implement a few libcalls.
2020-05-28 15:11:46 +02:00
Ayke van Laethem
6389e45d99
all: replace ReadRegister with AsmFull inline assembly
...
This makes AsmFull more powerful (by supporting return values) and
avoids a compiler builtin.
2020-04-29 18:25:16 +02:00
Ayke van Laethem
b9cdfd9e9a
riscv: add bare-bones interrupt support
...
This commit adds support for timer interrupts, replacing the busy loop
that was used before. It is perhaps the most simple interrupt to
implement and should serve as the basis for further interrupt support in
RISC-V.
2020-01-10 08:04:13 +01:00
Ayke van Laethem
360923abbf
compiler,riscv: implement CSR operations as intrinsics
...
CSR operations must be implemented in assembly. The easiest way to
implement them is with some custom intrinsics in the compiler.
2020-01-10 08:04:13 +01:00
Ayke van Laethem
08f01ba3ff
riscv: improve startup assembly
...
Now that we've switched to LLVM 9, we don't need a workaround anymore
for the 'la' pseudo-instruction.
2019-12-24 19:00:22 +01:00
Ayke van Laethem
ffa38b183b
all: add HiFive1 rev B board with RISC-V architecture
...
This page has been a big help in adding support for this new chip:
https://wiki.osdev.org/HiFive-1_Bare_Bones
2019-07-07 14:03:24 +02:00