Andrew Waterman
3a3c1f5a1a
Load instructions as unsigned values, not signed
This matches the behavior of mbabaddr/mtval.
9 years ago
Wesley W. Terpstra
8197cad40c
mtrap: allow override of DISABLED_HART_MASK from CFLAGS
9 years ago
Andrew Waterman
a2c8937e63
Remove num_harts; use hart_mask exclusively
9 years ago
Andrew Waterman
dce2b7dd8e
Rename HART_MASK to DISABLED_HART_MASK to clarify polarity
9 years ago
Wesley W. Terpstra
31eab7e4dd
fdt: update the status length when masking cpus
9 years ago
Wesley W. Terpstra
8b4421bacb
bbl: prevent named cores from booting
9 years ago
Wesley W. Terpstra
91636ac463
fdt: redact clint, plic, and debug hardware
9 years ago
Wesley W. Terpstra
cd558016be
fdt: support redaction
9 years ago
Andrew Waterman
d1200e3a54
Remove SBI console printm to speed up PK simulation
9 years ago
Wesley W. Terpstra
733fae9216
clint: move hart wakeup till after all FDT parsing
The clint was wiping out information discovered by the plic.
Initialize hart stacks as they are discovered.
Then fill in clint+plic info
Then wake the harts.
9 years ago
Andrew Waterman
078ea399c6
New PMP encoding
9 years ago
Wesley W. Terpstra
52d46dd684
fdt: look for the phandle of a cpu's nested interrupt controller
9 years ago
Andrew Waterman
6f407a8d54
Attempt to read instruction from mbadaddr
9 years ago
Wesley W. Terpstra
75f1854cd9
plic: discovered via fdt
9 years ago
Wesley W. Terpstra
b394a92597
uart: find it using fdt
10 years ago
Wesley W. Terpstra
cfe60c100d
fdt: rewrite parser using a single design pattern
10 years ago
Wesley W. Terpstra
9fa7b30887
uart: add physical device driver
10 years ago
Andrew Waterman
3473915b3a
Separate page faults from physical memory access exceptions
10 years ago
Wesley W. Terpstra
96e5ed750e
bbl: copy dtb after the kernel
10 years ago
Wesley W. Terpstra
96965a8cc6
pk: does not use dtb
10 years ago
Wesley W. Terpstra
a1a5cbcacb
fdt: add a size method
10 years ago
Andrew Waterman
fc1af65c15
Set up PMPs, permissively for now
10 years ago
Wesley W. Terpstra
23ab37ad78
SBI: a0+a1 hold hartid+dtb pointer between boot loader stages
10 years ago
Wesley W. Terpstra
316f85e9ae
machine: add FDT parser
10 years ago
Wesley W. Terpstra
db19d0d278
machine: remove configstring
10 years ago
Andrew Waterman
7d60c5904f
Allow PK access to user memory
10 years ago
Andrew Waterman
cfc4554bc6
Simplify interrupt-stack discipline
f2ed45b179
10 years ago
Andrew Waterman
36a5855d44
Don't rely on config string for basic functionality
10 years ago
Andrew Waterman
d203037851
PPNs are 44 bits in RV64
10 years ago
Andrew Waterman
410fb0384f
New counter-enable scheme
https://github.com/riscv/riscv-isa-manual/issues/10
10 years ago
Andrew Waterman
34979b9345
Fix PK boot
10 years ago
Andrew Waterman
f6bca6e35b
Don't block for acks on console writes
10 years ago
Andrew Waterman
59484c94e1
WIP on SBI
10 years ago
Andrew Waterman
66fda264c7
minor HTIF cleanup + use WFI
10 years ago
Andrew Waterman
7c47650298
Handle IPIs and timer interrupts more quickly
10 years ago
Andrew Waterman
b14d4187fe
Clean up boot loader for physical address loading
10 years ago
Andrew Waterman
926b360655
WIP towards ECALL interface for SBI
10 years ago
Andrew Waterman
611290ccde
Cleanly separate HTIF code; don't poll keyboard on timer interrupt
10 years ago
Andrew Waterman
15a111444d
Emulate RVFC instructions
10 years ago
Andrew Waterman
4678e84c04
Incorporate sptbr/sfence.vma changes
10 years ago
Andrew Waterman
6667bc4c42
Placate gcc7 about buffer sizes
10 years ago
Andrew Waterman
f6b2274af4
avoid non-standard predefined macros
10 years ago
Andrew Waterman
e5ed1d115c
Add ability to hard-code an initial environment
10 years ago
Andrew Waterman
8039c6cacb
For RV32, mmap offset is in 4 KiB increments
10 years ago
Andrew Waterman
55ce524e74
Cap pk memory size to 2 GiB for RV32
10 years ago
Andrew Waterman
ff807a20bd
Fix ld.so load address at 4 KiB
10 years ago
Andrew Waterman
558039d546
Add syscall stubs to get through libpthread initializers
10 years ago
Andrew Waterman
7a71068853
Acquire lock before attempting tohost/fromhost sequences
10 years ago
Andrew Waterman
d5e3e0d86a
Add spinlock_trylock routine; use it to implement spinlock_lock
10 years ago
Andrew Waterman
c6b55ce3a8
Acquire write permissions before zeroing page in ELF loader
f81b722bf0 is a regression. If a
read-only segment does not begin on a page boundary, it would cause
the ELF loader to blow up.
10 years ago