Andrew Waterman
146391f7eb
pk: refactor vm free list management
5 years ago
Andrew Waterman
b9eba474fb
pk: support >2 GiB of user memory for RV64
Previously, the pk would always run from virtual address MEM_START.
Instead, remap it into the negative virtual addresses, allowing user
processes to expand beyond MEM_START.
5 years ago
Andrew Waterman
817e7d0dfe
pk: only access user memory through explicit accessors
Enforced with sstatus.SUM.
5 years ago
Andrew Waterman
0011fdf211
use MEM_START, not DRAM_BASE, for pk mappings
5 years ago
Andrew Waterman
16476bd821
Properly license all nontrivial files
8 years ago
Andrew Waterman
f6bca6e35b
Don't block for acks on console writes
9 years ago
Andrew Waterman
4a6b20595a
Add -p flag to pk to disable demand paging
10 years ago
Andrew Waterman
7389e46cd0
Move DRAM to high addresses
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
Yunsup Lee
fa1b729581
fix pte_create to deal with protection bits correctly
11 years ago
Andrew Waterman
cffdcee338
Make boot loader/SBI changes to support SMP Linux
11 years ago
Andrew Waterman
e474878db4
Fix stack discipline for recursive traps
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
aedc6165cc
New virtual memory implementation (Sv39)
11 years ago
Andrew Waterman
6517fe26a2
Update to new privileged spec
11 years ago
Colin Schmidt
8fc3a35ba5
Allow mmap to map new segments larger than 1 page on top of existing mappings and add mprotect syscall
12 years ago
Andrew Waterman
f1f8dbbed0
Abandon MIPS convention for indicating syscall errors in register a3
12 years ago
Andrew Waterman
00f7299824
Add some syscalls
13 years ago
Andrew Waterman
cc72987e65
Support Linux ABI and (optionally) virtual memory
13 years ago