Andrew Waterman
55ce524e74
Cap pk memory size to 2 GiB for RV32
10 years ago
Andrew Waterman
ff807a20bd
Fix ld.so load address at 4 KiB
10 years ago
Andrew Waterman
558039d546
Add syscall stubs to get through libpthread initializers
10 years ago
Andrew Waterman
c6b55ce3a8
Acquire write permissions before zeroing page in ELF loader
f81b722bf0 is a regression. If a
read-only segment does not begin on a page boundary, it would cause
the ELF loader to blow up.
10 years ago
Howard Mao
f81b722bf0
make sure pages for ELF sections have correct protection ( #40 )
10 years ago
Andrew Waterman
4a6b20595a
Add -p flag to pk to disable demand paging
10 years ago
Sagar Karandikar
f73dee6f2c
add htif section in linker script, with ALIGNs to prevent MMIO and data from being placed on same page ( #32 )
10 years ago
Andrew Waterman
0a7862c79f
when -s is passed, print time, instret, cycle, and CPI
10 years ago
Andrew Waterman
7520a47419
Disallow execution of RVC binaries on non-RVC pk
10 years ago
Andrew Waterman
55982bd019
Align pk trap_entry for RVC
10 years ago
Andrew Waterman
6bead31951
zero-extend RV32 physical addresses for HTIF
10 years ago
Andrew Waterman
d88671efdf
Remove uarch counters
We'll re-add support for the generic performance counter facility once
it exists.
10 years ago
Andrew Waterman
f6eff20106
Udpate to new PTE format
10 years ago
Andrew Waterman
7389e46cd0
Move DRAM to high addresses
10 years ago
Garret Kelly
1baf122e28
pk: proxy chdir syscall to fesvr
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
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