aboutsummaryrefslogtreecommitdiff
path: root/pk/entry.S
AgeCommit message (Collapse)AuthorFilesLines
2021-05-05replace `sbadaddr` with `stval` (#243)Saleem Abdulrasool1-1/+1
This replaces use of the old `sbadaddr` CSR name with the current `stval` name. The old spelling is not supported by the LLVM IAS, however, the modern spelling is supported by both LLVM and binutils.
2021-03-29pk: remove vestigial trapframe_t::insn fieldAndrew Waterman1-4/+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.
2016-07-29Align pk trap_entry for RVCAndrew Waterman1-0/+1
2016-02-19WIP on priv spec v1.9Andrew Waterman1-2/+2
2016-02-19Simplify status register reloading in pkAndrew Waterman1-8/+4
2015-06-24Use sbadaddr (not sepc) to resolve instruction page faultsAndrew Waterman1-2/+4
2015-04-10Fix stack discipline for recursive trapsAndrew Waterman1-9/+15
2015-03-12Update to new privileged specAndrew Waterman1-41/+18
2015-02-09work in progress on new supervisor specAndrew Waterman1-69/+66
2014-10-31Implement draft of new calling conventionAndrew Waterman1-5/+4
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-06-13Changes to allow spike & RTL behavior to better match each other.Christopher Celio1-2/+0
- EI turned off on sys_exit. - IM/IP cleared on start. - badvaddr only saved to tf on page faults.
2014-01-13Assume pc-relative addressingAndrew Waterman1-1/+2
2013-11-25Update to new privileged ISAAndrew Waterman1-20/+20
2013-09-24Fix rv32 bugAndrew Waterman1-1/+1
2013-08-18Renumber PCRs; refer to them with new ASM syntaxAndrew Waterman1-31/+25
2013-08-18Use macro instead of function for save_tfAndrew Waterman1-5/+4
2013-07-13Support Linux ABI and (optionally) virtual memoryAndrew Waterman1-0/+1
2013-04-19implement new register mappingeos20Andrew Waterman1-6/+7
2013-03-25add BSD licenseAndrew Waterman1-0/+2
2013-02-28remove unneeded .ent, .end asm directivesAndrew Waterman1-6/+0
2011-11-11Synced up PK with supervisor changes/asm syntaxAndrew Waterman1-98/+98
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/+150
2011-06-19Renamed packagesAndrew Waterman1-150/+0
2011-04-16[pk] fixed timer interrupt handler, etc.Andrew Waterman1-1/+8
2011-04-15[pk] fixed timer interrupt bug, etc.Andrew Waterman1-1/+0
2011-04-12[sim,pk] fixed minor pk bugs and trap codesAndrew Waterman1-117/+120
2011-04-09[sim,pk] reorganized status registerAndrew Waterman1-1/+0
2011-04-09[xcc,pk,sim,opcodes] added first RVC instructionAndrew Waterman1-4/+6
2011-02-15[xcc,opcodes,pk,sim] krste's re-renaming spreeAndrew Waterman1-5/+5
2011-01-20[sim, pk, xcc, opcodes] great instruction renaming of 2011Andrew Waterman1-5/+5
2011-01-17[opcodes, pk, sim, xcc] removed nor, normalized macros to addiAndrew Waterman1-1/+1
2010-11-21[xcc, sim, pk] link register is now x1Andrew Waterman1-49/+50
2010-10-26[pk,sim,xcc] get rid of at register, introduce tp registerYunsup Lee1-8/+2
2010-10-17Revert "[pk] restore correct value to $x1/$x2 after trap"Andrew Waterman1-1/+1
This reverts commit c08c11ad7ea573313668b0231a18a5ea4515eea5.
2010-10-17[pk] restore correct value to $x1/$x2 after trapAndrew Waterman1-1/+1
2010-10-15[pk, sim] added FPU emulation support to proxy kernelAndrew Waterman1-2/+8
2010-10-05[xcc,sim] eliminated vectored trapsAndrew Waterman1-56/+17
now, the evec register holds the address that all traps vector to, and the cause register is set with the trap number.
2010-09-14[xcc] the great assembler cleanup, part 6Andrew Waterman1-1/+0
Note that we get spurious warnings because gcc is still generating such directives as .set noat and .set noreorder, which are now meaningless.
2010-09-10[sim, pk] cleaned up exception vectors and FP exc flagsAndrew Waterman1-5/+5
2010-09-09[pk, sim] added interrupt support to sim; added timer interruptAndrew Waterman1-1/+19
2010-09-07[pk] new register namesYunsup Lee1-87/+87
2010-09-06[sim, xcc] added PCRs to replace k0 and k1Andrew Waterman1-72/+89
2010-08-24[pk] proxy kernel support for mixed 32b/64b operationAndrew Waterman1-71/+83
2010-08-22[pk] Fixed broken PK build process (moved boot into a .c file)Andrew Waterman1-1/+3
2010-08-18[pk,fesvr] improved proxykernel build systemAndrew Waterman1-0/+130
Now uses a modified MCPPBS. Add --host=riscv to configure path. Front-end server now just searches PATH for riscv-pk, so just install the pk to somewhere in your path.