Andrew Waterman
|
3473915b3a
|
Separate page faults from physical memory access exceptions
|
9 years ago |
Andrew Waterman
|
fc1af65c15
|
Set up PMPs, permissively for now
|
9 years ago |
Wesley W. Terpstra
|
23ab37ad78
|
SBI: a0+a1 hold hartid+dtb pointer between boot loader stages
|
9 years ago |
Wesley W. Terpstra
|
316f85e9ae
|
machine: add FDT parser
|
9 years ago |
Andrew Waterman
|
36a5855d44
|
Don't rely on config string for basic functionality
|
9 years ago |
Andrew Waterman
|
410fb0384f
|
New counter-enable scheme
https://github.com/riscv/riscv-isa-manual/issues/10
|
9 years ago |
Andrew Waterman
|
34979b9345
|
Fix PK boot
|
9 years ago |
Andrew Waterman
|
f6bca6e35b
|
Don't block for acks on console writes
|
9 years ago |
Andrew Waterman
|
926b360655
|
WIP towards ECALL interface for SBI
|
9 years ago |
Andrew Waterman
|
4678e84c04
|
Incorporate sptbr/sfence.vma changes
|
9 years ago |
Andrew Waterman
|
6c1d0604dc
|
Use __riscv_flen macro to detect FP support
|
10 years ago |
Andrew Waterman
|
8006d004a5
|
Attempt to disable FPU if using no-FPU pk/bbl
|
10 years ago |
Andrew Waterman
|
d42f458b6a
|
Don't let other harts boot before HLS is initialized
Use IPIs to signal them.
|
10 years ago |
Andrew Waterman
|
8b41191ccd
|
Initialize timecmp; add PRCI test
|
10 years ago |
Andrew Waterman
|
1e62fdfce7
|
PLIC registers are 32-bit, not 16-bit
|
10 years ago |
Andrew Waterman
|
771c1163d3
|
Clear IPIs using MMIO, not mip CSR
|
10 years ago |
Andrew Waterman
|
e3afbd7c24
|
Remove debug printfs
|
10 years ago |
Andrew Waterman
|
113d00e652
|
Add preliminary support for the interrupt controller
|
10 years ago |
Andrew Waterman
|
b535cd6dc8
|
ERET -> MRET
|
10 years ago |
Andrew Waterman
|
66776bbc3e
|
Remove mtime/mtimecmp
|
10 years ago |
Andrew Waterman
|
d527883483
|
Misc improvements
|
10 years ago |
Andrew Waterman
|
469c5f16a7
|
Make num_harts a uintptr_t
Making it a uint32_t is a false economy.
|
10 years ago |
Andrew Waterman
|
b94c7a4b07
|
Refactor pk, bbl, machine into separate libraries
Yuck.
|
10 years ago |
Andrew Waterman
|
80447e5711
|
Disentangle PK and BBL a bit
|
10 years ago |
Andrew Waterman
|
bbc9a65fed
|
Begin refactoring emulation code
|
10 years ago |
Andrew Waterman
|
82dcccf73c
|
Don't request KB interrupt til first call to sbi_console_getchar
|
10 years ago |
Andrew Waterman
|
3dd00b900c
|
Simplify boot code
|
10 years ago |
Andrew Waterman
|
802f0cf1b5
|
fix medeleg typo
|
10 years ago |
Andrew Waterman
|
fba40b7a8c
|
Use new counter-enable CSRs
|
10 years ago |
Andrew Waterman
|
5e29b5ccff
|
Use RV configuration string instead of device tree
|
10 years ago |
Andrew Waterman
|
d2d2e0a55c
|
Remove SBI HTIF support; add console_getchar
|
10 years ago |
Andrew Waterman
|
26a9320050
|
sptbr now holds a PPN, not an address
|
10 years ago |
Andrew Waterman
|
3c0620321d
|
WIP on priv spec v1.9
|
10 years ago |
Andrew Waterman
|
e984b263e0
|
Cap main memory size at 2 GiB for RV32
This works around HTIF limitations and can later be removed.
|
10 years ago |
Andrew Waterman
|
ad7a60abea
|
WIP on priv spec v1.9
|
10 years ago |
Andrew Waterman
|
529a6a3a0c
|
Change boot procedure to not rely on IPIs
That procedure doesn't work correctly if hart 0 comes out of reset while
hart 1 is still in reset.
|
10 years ago |
Andrew Waterman
|
197a8b81e4
|
Use IPIs to wake up harts
This has the side effect of testing the IPI mechanism. Still not sure
this is the best approach to booting, but it works...
|
11 years ago |
Andrew Waterman
|
47f9e06fc2
|
Read and use devicetree -- THIS BREAKS ROCKET FOR NOW
|
11 years ago |
Andrew Waterman
|
69b5de4ffa
|
Initialize FCSR on boot
|
11 years ago |
Andrew Waterman
|
09565f7353
|
Initialize mtimecmp for debuggability
|
11 years ago |
Andrew Waterman
|
6aa84fd30d
|
Undo last commit
It breaks programs that rely on ELF program headers.
|
11 years ago |
Andrew Waterman
|
39f189549b
|
Avoid stack overflow with -msoft-float
|
11 years ago |
Andrew Waterman
|
a6da37f217
|
New M-mode timer and SBI call to use it
|
11 years ago |
Andrew Waterman
|
cffdcee338
|
Make boot loader/SBI changes to support SMP Linux
|
11 years ago |
Andrew Waterman
|
1a8572a47d
|
Upgrade to privileged architecture 1.7
|
11 years ago |
Andrew Waterman
|
ac7853a1bc
|
Initialize the mailbox on boot
This fixes a bug when running on HW.
|
11 years ago |
Andrew Waterman
|
d3d746f016
|
Assume even less about mstatus reset value
|
11 years ago |
Andrew Waterman
|
01fd29cb6e
|
Make PK compile on RV32
Of course, it doesn't work, because there's no support for
fromhost/tohost devices in RV32.
|
11 years ago |
Andrew Waterman
|
e554f30be8
|
Don't rely on mstatus.fs to determine FPU presence
|
11 years ago |
Andrew Waterman
|
40668501fa
|
Fix some bugs in FP emulation
|
11 years ago |