aboutsummaryrefslogtreecommitdiff
path: root/pk/entry.S
AgeCommit message (Collapse)AuthorFilesLines
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.