Andrew Waterman
d88671efdf
Remove uarch counters
We'll re-add support for the generic performance counter facility once
it exists.
10 years ago
Andrew Waterman
ee00503ebe
Don't assume existence of uarch counters
10 years ago
Andrew Waterman
b94c7a4b07
Refactor pk, bbl, machine into separate libraries
Yuck.
10 years ago
Andrew Waterman
ef524be394
S-mode shouldn't ever see misaligned load traps
10 years ago
Andrew Waterman
ad7a60abea
WIP on priv spec v1.9
10 years ago
Andrew Waterman
027ba300cb
Use sbadaddr (not sepc) to resolve instruction page faults
11 years ago
Andrew Waterman
1a8572a47d
Upgrade to privileged architecture 1.7
11 years ago
Andrew Waterman
e474878db4
Fix stack discipline for recursive traps
11 years ago
Andrew Waterman
a79f62f72a
Merge [shm]call into ecall, [shm]ret into eret
11 years ago
Andrew Waterman
6517fe26a2
Update to new privileged spec
11 years ago
Andrew Waterman
5c86450130
work in progress on new supervisor spec
11 years ago
Andrew Waterman
069bdd3f0d
Implement draft of new calling convention
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
12 years ago
Andrew Waterman
fda0d85ae4
Don't rely on the C library
12 years ago
Christopher Celio
7b6a968c83
Changes to allow spike & RTL behavior to better match each other.
- EI turned off on sys_exit.
- IM/IP cleared on start.
- badvaddr only saved to tf on page faults.
12 years ago
Christopher Celio
75bc78fac8
PK now advances past breakpoint.
12 years ago
Andrew Waterman
f1f8dbbed0
Abandon MIPS convention for indicating syscall errors in register a3
12 years ago
Andrew Waterman
89a0cefd28
Add -p flag: force physical memory addressing
12 years ago
Andrew Waterman
f62e692e72
Update to new privileged ISA
13 years ago
Yunsup Lee
43c14ea417
sync pcr.h, correctly name SR_EA
13 years ago
Andrew Waterman
186ae3cc35
Renumber PCRs; refer to them with new ASM syntax
13 years ago
Andrew Waterman
3168b8a904
New supervisor mode
13 years ago
Andrew Waterman
cc72987e65
Support Linux ABI and (optionally) virtual memory
13 years ago
Andrew Waterman
276c20be4c
implement new register mapping
13 years ago
Andrew Waterman
accebe9e63
add BSD license
13 years ago
Andrew Waterman
e0e1662fc1
rename binary to pk; change argv handling
the new fesvr approach makes argv[0] = pk, rather than user program's name
13 years ago
Christopher Celio
d6a522404a
Added rough emulation support for div/rem/mul.
14 years ago
Andrew Waterman
6336ef155f
fix FP emulation routines
to disable, add --disable-fp-emulation to configure command line
14 years ago
Andrew Waterman
15f31b5404
new supervisor mode
14 years ago
Andrew Waterman
8717517e04
Synced up PK with supervisor changes/asm syntax
You must upgrade to the latest compiler and ISA
simulator to build and run this version of the PK.
15 years ago
Andrew Waterman
0edaecc543
temporary undoing of renaming
15 years ago
Andrew Waterman
e63e4fbe87
Renamed packages
15 years ago
Yunsup Lee
92a8f05f5a
[opcodes,pk,sim] add more vector traps (for #banks, illegal instructions)
15 years ago
Andrew Waterman
bbd999a00e
[sim,pk] cleanups & initial virtual memory support
15 years ago
Andrew Waterman
0be1f5eb1b
[pk] fixed timer interrupt handler, etc.
15 years ago
Andrew Waterman
ba0cf05466
[pk] fixed timer interrupt bug, etc.
15 years ago
Andrew Waterman
27afdf1a00
[sim,pk] fixed minor pk bugs and trap codes
15 years ago
Yunsup Lee
5e7e315dee
[pk] fix init_fp function prototype
15 years ago
Yunsup Lee
033e1e62bd
[pk] add vector_disabled trap handler
15 years ago
Andrew Waterman
4baf0c99c5
[xcc,pk,opcodes,sim] updated encoding/insn names
15 years ago
Andrew Waterman
5c9d48945e
[sim,pk] added interrupt-pending field to cause reg
15 years ago
Andrew Waterman
af2d471a4e
[pk] fixed FP emulation bug
kernel would erroneously trap on FP disabled
15 years ago
Andrew Waterman
0cf0242c3b
[pk] added --disable-fp-emulation option for code size
15 years ago
Andrew Waterman
77c382ff23
[pk] improved performance of fp emulation
16 years ago
Andrew Waterman
b4fd490d68
[pk, sim] added FPU emulation support to proxy kernel
16 years ago
Andrew Waterman
3aaacd4476
[xcc,sim] eliminated vectored traps
now, the evec register holds the address that all traps vector to,
and the cause register is set with the trap number.
16 years ago
Andrew Waterman
5973faacb9
[sim, pk] cleaned up exception vectors and FP exc flags
16 years ago
Andrew Waterman
29cc0dc985
[pk,fesvr] improved proxykernel build system
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.
16 years ago
Andrew Waterman
e0d20b2e2d
[xcc,pk,sim] Added first part of FP support
In particular, FP loads, stores, and moves now work.
16 years ago