Andrew Waterman
1a9aefdd00
Split out config string parser
10 years ago
Andrew Waterman
b535cd6dc8
ERET -> MRET
10 years ago
Andrew Waterman
66776bbc3e
Remove mtime/mtimecmp
10 years ago
Andrew Waterman
de16a763e6
Use mbadaddr to speed up misaligned ld/st emulation
10 years ago
Garret Kelly
1baf122e28
pk: proxy chdir syscall to fesvr
10 years ago
Andrew Waterman
d114ddb3ec
Remove Chris Batten COPYING file
It's vestigial; he didn't work on this project.
10 years ago
Andrew Waterman
ee00503ebe
Don't assume existence of uarch counters
10 years ago
Andrew Waterman
0eface07b9
Use panic, not die, to terminate elf loader
10 years ago
SeungRyeol Lee
10e9fa3609
fix multilib build error. it's type casting related.
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
8bd01c7999
Update encoding
10 years ago
Andrew Waterman
f16e9311bf
Remove dead code
10 years ago
Andrew Waterman
82382a1290
Set time comparator correctly on RV32
The old code truncated the upper 32 bits, and even if it got that right,
it would have generated spurious interrupts.
10 years ago
Andrew Waterman
ccf79891f0
Factor emulation routines into multiple files
10 years ago
Andrew Waterman
b94c7a4b07
Refactor pk, bbl, machine into separate libraries
Yuck.
10 years ago
Andrew Waterman
f5a96732cb
Fix ifdef guard on FCSR instructions
10 years ago
Andrew Waterman
33ed6c6c5e
get rid of struct mainvars
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
dea1fa15f2
Fix vsnprintf infinite loop
10 years ago
Andrew Waterman
39c89b7db5
WIP on priv spec v1.9
10 years ago
Andrew Waterman
d2d2e0a55c
Remove SBI HTIF support; add console_getchar
10 years ago
Andrew Waterman
75471727f8
New definitions of misa/marchid/mvendorid
10 years ago
Andrew Waterman
4991166b0c
Use simpler, less-general IPI interface
No need for active messages in this context.
10 years ago
Andrew Waterman
bf9ee5ca11
simplify pk atomics and add atomic_or
10 years ago
Andrew Waterman
573c7d3f12
fix comment
10 years ago
Andrew Waterman
28d64a2227
Add SBI calls for remote I$/TLB flushes
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
a844b59be2
Remove sbi_printk macro
10 years ago
Andrew Waterman
ef524be394
S-mode shouldn't ever see misaligned load traps
10 years ago
Andrew Waterman
d00cb5a541
Rely on __riscv_muldiv and __riscv_hard_float macros
10 years ago
Andrew Waterman
b0d83d2a84
Fix MULW/DIVW/etc. emulation code
10 years ago
Andrew Waterman
57cbf902c9
Remove --disable-atomics flag; rely on -march setting instead
10 years ago
Andrew Waterman
ad7a60abea
WIP on priv spec v1.9
10 years ago
Andrew Waterman
1d78c4a12e
Simplify status register reloading in pk
10 years ago
Andrew Waterman
ba74319214
Avoid needless IRQ enable/disable
10 years ago
Andrew Waterman
d340b4271b
Add SBI calls for IRQ mask/unmask
10 years ago
Andrew Waterman
7016bac5df
Fix struct stat size mismatch for RV32
10 years ago
Andrew Waterman
31ad71b8a4
Remove incorrect code supporting ELF32 on RV64 and vice-versa
This is technically possible by running an RV32 supervisor on an
RV64 machine, but the M-mode and S-mode code would need to be
compiled and linked separately.
10 years ago
Colin Schmidt
676c953b79
add renameat syscall
10 years ago
Andrew Waterman
85ae17aa14
Write 1 to MIPI, not 0
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