Andrew Waterman
cffdcee338
Make boot loader/SBI changes to support SMP Linux
11 years ago
Andrew Waterman
87683e74f5
Split pk functionality into pk and bbl
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).
11 years ago
Andrew Waterman
1a8572a47d
Upgrade to privileged architecture 1.7
11 years ago
Andrew Waterman
33e738d643
Add ASCII art boot logo
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
11 years ago
Andrew Waterman
e474878db4
Fix stack discipline for recursive traps
11 years ago
Andrew Waterman
a24e1934dd
Remove errant statement forcing mem size to 64M
h/t Palmer
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
0a81fd3a93
Support linkat, unlinkat, mkdirat syscalls
Also, old-style syscalls e.g. open are now implemented with e.g. openat.
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
1d953bf6fc
Support glibc 2.20 programs
12 years ago
Christopher Celio
5eba64df88
Added "-c" option to track uarch counter info.
12 years ago
Andrew Waterman
e3fa35fb85
Handle options before vm_init is called
This prevents ptbr etc. from being accessed when -p is passed.
12 years ago
Colin Schmidt
e50dc18f5d
Add several syscalls, and move syscall header file from newlib
syscalls added (openat, access, accessat, faccessat, etc.)
12 years ago
Andrew Waterman
f1f8dbbed0
Abandon MIPS convention for indicating syscall errors in register a3
12 years ago
Andrew Waterman
5cd583648d
Speed up glibc init
12 years ago
Andrew Waterman
89a0cefd28
Add -p flag: force physical memory addressing
12 years ago
Andrew Waterman
a502c24732
Remove redundant initialization
12 years ago
Andrew Waterman
f62e692e72
Update to new privileged ISA
13 years ago
Andrew Waterman
5e742ad967
Add pk flag -s to print out stats
(the only stat is cycle count)
13 years ago
Andrew Waterman
2a0bfcd3da
Don't clobber the ELF headers!
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
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
Andrew Waterman
6b9ea8b8e0
[pk] limit programs to 2GB (for RV32 simplicity)
15 years ago
Andrew Waterman
0d603acb91
[pk] load pk at addr 0; user stack top = MEMSIZE
15 years ago
Andrew Waterman
69ddca76d2
[pk] add cache flush after program load
15 years ago
Andrew Waterman
53eb346e31
[sim,pk] reorganized status register
15 years ago
Andrew Waterman
6e7fe98ea9
[xcc,pk,sim,opcodes] added first RVC instruction
15 years ago
Andrew Waterman
666ae0c9e5
[pk,fesvr] pk now loads elfs itself
this allows it to detect 32b binaries
15 years ago
Andrew Waterman
5490b1d627
[pk] send stdout/stderr to both fesvr and debug console
15 years ago
Andrew Waterman
63729473a5
[opcodes, pk, sim, xcc] Tweaked FP encoding
16 years ago
Andrew Waterman
783c0ec831
[pk] various PK cleanups/speedups
16 years ago
Andrew Waterman
4daccfc1cf
[xcc, sim, pk] link register is now x1
16 years ago
Yunsup Lee
9fe7d4f656
[pk,sim,xcc] get rid of at register, introduce tp register
16 years ago
Andrew Waterman
77c382ff23
[pk] improved performance of fp emulation
16 years ago
Yunsup Lee
9297008e44
[pk] zero out fp regs
16 years ago
Andrew Waterman
b4fd490d68
[pk, sim] added FPU emulation support to proxy kernel
16 years ago
Andrew Waterman
dd84f5743d
[pk] proxy kernel support for mixed 32b/64b operation
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
Yunsup Lee
8b9b445a19
[fesvr,pk,xcc] support argc and argv
16 years ago
Andrew Waterman
7fa95f96af
[pk,libgloss] added more front-end system calls
16 years ago