aboutsummaryrefslogtreecommitdiff
path: root/pk
AgeCommit message (Collapse)AuthorFilesLines
2015-05-14Add sbi_shutdown callAndrew Waterman5-10/+27
2015-05-14Fix VM, MIP encodingAndrew Waterman1-6/+6
2015-05-10Split pk functionality into pk and bblAndrew Waterman12-105/+132
pk is now an AEE only (i.e. it can only execute user programs). bbl is now an SEE only (i.e. it can only host kernels).
2015-05-09Upgrade to privileged architecture 1.7Andrew Waterman13-200/+282
2015-05-08Initialize the mailbox on bootAndrew Waterman1-0/+6
This fixes a bug when running on HW.
2015-05-02Add ASCII art boot logoAndrew Waterman5-0/+61
It's only printed when booting the Linux kernel. Feel free to improve the quality of the ASCII art. It looks like this when rendered: vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv vvvvvvvvvvvvvvvvvvvvvvvvvvvv rrrrrrrrrrrrr vvvvvvvvvvvvvvvvvvvvvvvvvv rrrrrrrrrrrrrrrr vvvvvvvvvvvvvvvvvvvvvvvv rrrrrrrrrrrrrrrrrr vvvvvvvvvvvvvvvvvvvvvvvv rrrrrrrrrrrrrrrrrr vvvvvvvvvvvvvvvvvvvvvvvv rrrrrrrrrrrrrrrrrr vvvvvvvvvvvvvvvvvvvvvvvv rrrrrrrrrrrrrrrr vvvvvvvvvvvvvvvvvvvvvv rrrrrrrrrrrrr vvvvvvvvvvvvvvvvvvvvvv rr vvvvvvvvvvvvvvvvvvvvvv rr vvvvvvvvvvvvvvvvvvvvvvvv rr rrrr vvvvvvvvvvvvvvvvvvvvvvvvvv rrrr rrrrrr vvvvvvvvvvvvvvvvvvvvvv rrrrrr rrrrrrrr vvvvvvvvvvvvvvvvvv rrrrrrrr rrrrrrrrrr vvvvvvvvvvvvvv rrrrrrrrrr rrrrrrrrrrrr vvvvvvvvvv rrrrrrrrrrrr rrrrrrrrrrrrrr vvvvvv rrrrrrrrrrrrrr rrrrrrrrrrrrrrrr vv rrrrrrrrrrrrrrrr rrrrrrrrrrrrrrrrrr rrrrrrrrrrrrrrrrrr rrrrrrrrrrrrrrrrrrrr rrrrrrrrrrrrrrrrrrrr rrrrrrrrrrrrrrrrrrrrrr rrrrrrrrrrrrrrrrrrrrrr INSTRUCTION SETS WANT TO BE FREE
2015-04-30Assume even less about mstatus reset valueAndrew Waterman1-2/+3
2015-04-24"Fix" RV32 programs running on RV64 pkAndrew Waterman1-0/+4
Only allocate virtual addresses under 2^31. We might revise the RV32-on-RV64 semantics to zero-extend the RV32 virtual addresses, which would allow the user program's use of the full 4 GB.
2015-04-19Fix loading of misaligned ELF segmentsAndrew Waterman1-1/+1
2015-04-10Fix stack discipline for recursive trapsAndrew Waterman6-19/+25
2015-04-03Make PK compile on RV32Andrew Waterman5-429/+498
Of course, it doesn't work, because there's no support for fromhost/tohost devices in RV32.
2015-03-31Remove errant statement forcing mem size to 64MAndrew Waterman1-1/+0
h/t Palmer
2015-03-31Don't rely on mstatus.fs to determine FPU presenceAndrew Waterman4-52/+78
2015-03-31Fix FP store emulation bugAndrew Waterman1-1/+1
2015-03-24New virtual memory implementation (Sv39)Andrew Waterman4-63/+82
2015-03-24Make printk safer and use less stackAndrew Waterman3-33/+35
2015-03-17Merge [shm]call into ecall, [shm]ret into eretAndrew Waterman10-118/+131
2015-03-14Fix some bugs in FP emulationAndrew Waterman3-34/+71
2015-03-12Use hcall instead of mcall for sbi callsAndrew Waterman8-53/+58
2015-03-12Update to new privileged specAndrew Waterman36-861/+2273
2015-02-09work in progress on new supervisor specAndrew Waterman14-328/+470
2015-02-09Fix FLE.D emulationAndrew Waterman1-1/+1
2015-01-30Emulate FP CSRsAndrew Waterman2-7/+35
2015-01-26return -ENOSYS for ioctl, rather than abortingAndrew Waterman2-0/+2
2015-01-20Support linkat, unlinkat, mkdirat syscallsAndrew Waterman6-85/+100
Also, old-style syscalls e.g. open are now implemented with e.g. openat.
2015-01-20Increased max number of files,fds statically supported by pk.Christopher Celio1-2/+2
The SPECINT benchmark 445.gobmk reads in a lot of files and would sometimes fail due to being unable to open more files.
2014-12-11Relocate binaries that conflict with the pk's address spaceAndrew Waterman3-19/+13
Of course, this is only possible for PIEs, e.g. the dynamic linker.
2014-11-22Revert "Enable support for the four custom instructions"Yunsup Lee1-72/+0
This reverts commit 2fa1726f0ebbe5911cd12c27c42881f17ec43114. Refactoring support for custom instructions.
2014-10-31Implement draft of new calling conventionAndrew Waterman5-14/+12
Here is the new syscall ABI: syscall number in a7 args in a0 - a6 return value in a0 Here is the integer register map: x0 -> x0 x1 -> ra x2 -> sp x3 -> tp x4 -> gp x5 -> t0 x6 -> t1 x7 -> t2 x8 -> s0 x9 -> s1 x10 -> a0 x11 -> a1 x12 -> a2 x13 -> a3 x14 -> a4 x15 -> a5 x16 -> a6 x17 -> a7 x18 -> s2 x19 -> s3 x20 -> s4 x21 -> s5 x22 -> s6 x23 -> s7 x24 -> s8 x25 -> s9 x26 -> s10 x27 -> s11 x28 -> t3 x29 -> t4 x30 -> t5 x31 -> t6
2014-10-28don't forget to release locks!Andrew Waterman1-4/+8
2014-10-26Prioritize fdiv/fsqrt emulationAndrew Waterman1-9/+9
2014-10-26Don't rely on the C libraryAndrew Waterman6-6/+68
2014-10-23Enable support for the four custom instructionsArun Thomas1-0/+72
* Update generated encoding.h (generated from riscv-opcodes)
2014-09-11Support glibc 2.20 programsAndrew Waterman5-2/+9
2014-08-10Fix uarch counter printout type.Christopher Celio1-1/+1
2014-08-07Added "-c" option to track uarch counter info.Christopher Celio3-0/+55
2014-06-25Let timer interrupt stay set on pk start (IP[7]).Christopher Celio1-3/+0
Otherwise, the HW will trip the timer interrupt 4B cycles later and thus not match spike.
2014-06-13Changes to allow spike & RTL behavior to better match each other.Christopher Celio4-3/+10
- EI turned off on sys_exit. - IM/IP cleared on start. - badvaddr only saved to tf on page faults.
2014-06-12Handle options before vm_init is calledAndrew Waterman1-15/+29
This prevents ptbr etc. from being accessed when -p is passed.
2014-06-12Fix file reference counting bug in physical address modeAndrew Waterman1-2/+2
2014-06-12Add file reference counting sanity checkAndrew Waterman1-1/+2
2014-06-03Turn off interrupts when talking to hostAndrew Waterman2-2/+16
2014-05-27Allow mmap to map new segments larger than 1 page on top of existing ↵Colin Schmidt4-6/+44
mappings and add mprotect syscall
2014-05-22remove debug print statementsColin Schmidt1-4/+0
2014-05-22determine the address for an mmap before setuping the vmrColin Schmidt1-11/+10
2014-05-22Add several syscalls, and move syscall header file from newlibColin Schmidt7-20/+218
syscalls added (openat, access, accessat, faccessat, etc.)
2014-05-22Support mmapping files whose length is not divisible by pgsizeAndrew Waterman1-3/+4
2014-05-06fixes vm leak. pages that faulted never decref'd their vmr so it wasn't reusedScott Beamer1-0/+1
2014-04-29PK now advances past breakpoint.Christopher Celio1-0/+1
2014-04-27Use atomic_cas instead of __sync_bool_compare_and_swapAndrew Waterman1-5/+5