Yan
a4d4298ca1
Disable device tree filter when load a dts from file ( #219 )
* add device tree in elf, using --with-dts to add the absolute path of device tree
* Disable device tree filter
* Remove *.dtb dependence, when the --with-dts option is not used
5 years ago
Andrew Waterman
def2f01eee
Revert "Disable device tree filter when load a dts from file ( #217 )"
This reverts commit a161e6f3ef .
Resolves #218
5 years ago
Yan
a161e6f3ef
Disable device tree filter when load a dts from file ( #217 )
* add device tree in elf, using --with-dts to add the absolute path of device tree
* Disable device tree filter
5 years ago
James Clarke
2c4e689bc1
Support manually zeroing out BSS when booting ( #188 )
Some ELF loaders, in particular gdb's load command for dynamically
loading files into memory, which is often used to load binaries onto
FPGAs over JTAG, do not zero out BSS, leaving the memory in whatever
state it was previously in. Thus, introduce a new --enable-zero-bss
configure flag, which will include code to zero out BSS when booting.
6 years ago
Andrew Waterman
3d681ed0d0
Use pointer-sized entries in trap table
This allows bbl to be loaded above 4 GiB on RV64.
7 years ago
Hesham Almatary
72672f9a39
bbl: boot payload in machine mode when --enable-boot-machine is passed
8 years ago
Zong Li
9ecbd23d62
Correct the comment of timer interrupt
8 years ago
Zong Li
8ff2222893
Fix the wrong access of ipi pending address ( #99 )
The MENTRY_IPI_PENDING_OFFSET offset is based on stack pointer
8 years ago
Wesley W. Terpstra
2bbd8e1a1b
mtrap: add a halt IPI used for poweroff ( #86 )
Otherwise, linux complains the moment an interrupt arrives and
wakes up one of the not-looping cores.
8 years ago
Palmer Dabbelt
21dbf5f307
Boot on the first hart
This code is broken, and it's left over from before we could read the
DTB to find harts to boot on.
8 years ago
Palmer Dabbelt
9204785053
Detect harts that can't boot Linux instead of hard-coding them
This checks to see if a hart can't boot Linux by looking for a
compatible "mmu-type" field. If the hart can't boot Linux, then bbl
masks it off.
9 years ago
Palmer Dabbelt
298984cbe6
Move DISABLED_HART_MASK to the platform
Some platforms can't boot Linux on all the harts. This commit allows
platforms to define the set of harts that should be prevented from
booting past BBL. This is essentially just a new mechanism for defining
the DISABLED_HART_MASK.
9 years ago
Andrew Waterman
dce2b7dd8e
Rename HART_MASK to DISABLED_HART_MASK to clarify polarity
9 years ago
Wesley W. Terpstra
8b4421bacb
bbl: prevent named cores from booting
9 years ago
Andrew Waterman
3473915b3a
Separate page faults from physical memory access exceptions
9 years ago
Wesley W. Terpstra
23ab37ad78
SBI: a0+a1 hold hartid+dtb pointer between boot loader stages
9 years ago
Andrew Waterman
f6bca6e35b
Don't block for acks on console writes
9 years ago
Andrew Waterman
59484c94e1
WIP on SBI
9 years ago
Andrew Waterman
7c47650298
Handle IPIs and timer interrupts more quickly
9 years ago
Andrew Waterman
6c1d0604dc
Use __riscv_flen macro to detect FP support
10 years ago
sashimi-yzh
f892b43a2b
machine, mentry.S: fix not receiving IPI for other harts ( #38 )
* Before waiting for IPI by executing wfi instruction, MSIE bit
should be set in mie CSR for other harts, else they will get
stuck at the wfi instruction.
10 years ago
Andrew Waterman
d42f458b6a
Don't let other harts boot before HLS is initialized
Use IPIs to signal them.
10 years ago
Andrew Waterman
1bcab7872c
Poll HTIF console on timer interrupt
10 years ago
Andrew Waterman
2001632142
Don't use tohost/fromhost registers; communicate with host via memory
10 years ago
Andrew Waterman
7389e46cd0
Move DRAM to high addresses
10 years ago
Andrew Waterman
b535cd6dc8
ERET -> MRET
10 years ago
Andrew Waterman
b94c7a4b07
Refactor pk, bbl, machine into separate libraries
Yuck.
10 years ago
Andrew Waterman
bbc9a65fed
Begin refactoring emulation code
10 years ago
Andrew Waterman
3dd00b900c
Simplify boot code
10 years ago
Andrew Waterman
28d64a2227
Add SBI calls for remote I$/TLB flushes
10 years ago
Andrew Waterman
3c0620321d
WIP on priv spec v1.9
10 years ago
Andrew Waterman
b0d83d2a84
Fix MULW/DIVW/etc. emulation code
10 years ago
Andrew Waterman
ad7a60abea
WIP on priv spec v1.9
10 years ago
Andrew Waterman
529a6a3a0c
Change boot procedure to not rely on IPIs
That procedure doesn't work correctly if hart 0 comes out of reset while
hart 1 is still in reset.
10 years ago
Andrew Waterman
197a8b81e4
Use IPIs to wake up harts
This has the side effect of testing the IPI mechanism. Still not sure
this is the best approach to booting, but it works...
11 years ago
Andrew Waterman
18efb61dc4
Zero-initialize x-registers for debuggability
11 years ago
Andrew Waterman
04d07c02bb
Fix RVC build
11 years ago
Andrew Waterman
a6da37f217
New M-mode timer and SBI call to use it
11 years ago
Andrew Waterman
cffdcee338
Make boot loader/SBI changes to support SMP Linux
11 years ago
Andrew Waterman
1a8572a47d
Upgrade to privileged architecture 1.7
11 years ago
Andrew Waterman
e554f30be8
Don't rely on mstatus.fs to determine FPU presence
11 years ago
Andrew Waterman
aedc6165cc
New virtual memory implementation (Sv39)
11 years ago
Andrew Waterman
a79f62f72a
Merge [shm]call into ecall, [shm]ret into eret
11 years ago
Andrew Waterman
438823e130
Use hcall instead of mcall for sbi calls
11 years ago
Andrew Waterman
6517fe26a2
Update to new privileged spec
11 years ago