aboutsummaryrefslogtreecommitdiff
path: root/pk/handlers.c
AgeCommit message (Collapse)AuthorFilesLines
2021-05-07pk: make breakpoints fatalAndrew Waterman1-2/+1
Resolves #216
2021-03-29pk: remove vestigial trapframe_t::insn fieldAndrew Waterman1-7/+0
This assumes that stval is populated with the opcode on illegal instruction exceptions. But since we're only using the opcode for error reporting, it's OK if this assumption is violated.
2021-03-25pk: support >2 GiB of user memory for RV64Andrew Waterman1-1/+3
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.
2018-08-06Add some exception handling functions to s-mode to handle exception return ↵wxjstz1-0/+28
from m-mode. (#117)
2017-03-27Separate page faults from physical memory access exceptionsAndrew Waterman1-3/+3
2016-07-12Remove uarch countersAndrew Waterman1-7/+0
We'll re-add support for the generic performance counter facility once it exists.
2016-04-06Don't assume existence of uarch countersAndrew Waterman1-0/+7
2016-03-09Refactor pk, bbl, machine into separate librariesAndrew Waterman1-4/+4
Yuck.
2016-02-19S-mode shouldn't ever see misaligned load trapsAndrew Waterman1-9/+1
2016-02-19WIP on priv spec v1.9Andrew Waterman1-1/+1
2015-06-24Use sbadaddr (not sepc) to resolve instruction page faultsAndrew Waterman1-4/+2
2015-05-09Upgrade to privileged architecture 1.7Andrew Waterman1-2/+2
2015-04-10Fix stack discipline for recursive trapsAndrew Waterman1-4/+0
2015-03-17Merge [shm]call into ecall, [shm]ret into eretAndrew Waterman1-1/+1
2015-03-12Update to new privileged specAndrew Waterman1-18/+12
2015-02-09work in progress on new supervisor specAndrew Waterman1-32/+4
2014-10-31Implement draft of new calling conventionAndrew Waterman1-2/+2
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-26Don't rely on the C libraryAndrew Waterman1-2/+2
2014-06-13Changes to allow spike & RTL behavior to better match each other.Christopher Celio1-0/+2
- EI turned off on sys_exit. - IM/IP cleared on start. - badvaddr only saved to tf on page faults.
2014-04-29PK now advances past breakpoint.Christopher Celio1-0/+1
2014-02-04Abandon MIPS convention for indicating syscall errors in register a3Andrew Waterman1-6/+2
2013-12-14Add -p flag: force physical memory addressingAndrew Waterman1-4/+1
2013-11-25Update to new privileged ISAAndrew Waterman1-3/+2
2013-11-05sync pcr.h, correctly name SR_EAYunsup Lee1-20/+6
2013-08-18Renumber PCRs; refer to them with new ASM syntaxAndrew Waterman1-6/+16
2013-07-26New supervisor modeAndrew Waterman1-1/+1
2013-07-13Support Linux ABI and (optionally) virtual memoryAndrew Waterman1-13/+20
2013-04-19implement new register mappingeos20Andrew Waterman1-4/+4
2013-03-25add BSD licenseAndrew Waterman1-0/+2
2013-01-25rename binary to pk; change argv handlingAndrew Waterman1-5/+0
the new fesvr approach makes argv[0] = pk, rather than user program's name
2012-09-07Added rough emulation support for div/rem/mul.Christopher Celio1-1/+7
2012-09-04fix FP emulation routinesAndrew Waterman1-2/+1
to disable, add --disable-fp-emulation to configure command line
2012-03-24new supervisor modeAndrew Waterman1-4/+3
2011-11-11Synced up PK with supervisor changes/asm syntaxAndrew Waterman1-26/+4
You must upgrade to the latest compiler and ISA simulator to build and run this version of the PK.
2011-06-19temporary undoing of renamingAndrew Waterman1-0/+169
2011-06-19Renamed packagesAndrew Waterman1-169/+0
2011-05-18[opcodes,pk,sim] add more vector traps (for #banks, illegal instructions)Yunsup Lee1-0/+14
2011-05-16[sim,pk] cleanups & initial virtual memory supportAndrew Waterman1-9/+11
2011-04-16[pk] fixed timer interrupt handler, etc.Andrew Waterman1-4/+7
2011-04-15[pk] fixed timer interrupt bug, etc.Andrew Waterman1-15/+23
2011-04-12[sim,pk] fixed minor pk bugs and trap codesAndrew Waterman1-15/+24
2011-04-09[pk] fix init_fp function prototypeYunsup Lee1-1/+1
2011-04-09[pk] add vector_disabled trap handlerYunsup Lee1-0/+10
2011-03-25[xcc,pk,opcodes,sim] updated encoding/insn namesAndrew Waterman1-1/+8
2011-02-04[sim,pk] added interrupt-pending field to cause regAndrew Waterman1-37/+29
2011-02-04[pk] fixed FP emulation bugAndrew Waterman1-4/+1
kernel would erroneously trap on FP disabled
2011-01-10[pk] added --disable-fp-emulation option for code sizeAndrew Waterman1-0/+6
2010-10-18[pk] improved performance of fp emulationAndrew Waterman1-0/+3
2010-10-15[pk, sim] added FPU emulation support to proxy kernelAndrew Waterman1-1/+15
2010-10-05[xcc,sim] eliminated vectored trapsAndrew Waterman1-2/+42
now, the evec register holds the address that all traps vector to, and the cause register is set with the trap number.