Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
Mark PK as version 1.0.0
|
|
Why not?
Signed-off-by: Palmer Dabbelt <palmer@dabbelt.com>
|
|
allow additional ns16550a config via device tree
|
|
This commit makes bbl read some additional fields from
the device tree if it detects an ns16550a:
- reg-shift
- reg-offset
- clock-frequency
For explanation of these check out the Linux Kernel doc:
https://www.kernel.org/doc/Documentation/devicetree/bindings/serial/8250.txt
In particular this allows the Xilinx AXI UART 16550 to act
as serial console with bbl and the Linux early boot console.
This also fixes a bug in which bbl will ignore any other than the first
"compatible" string when iterating over the nodes.
Previously this line would not have worked:
compatible = "xlnx,xps-uart16550-2.00.a", "ns16550a";
Before bbl would have just checked the first field instead of checking
all strings in the list.
|
|
With -ftree-loop-distribute-patterns, GCC detects that the body of memset
is equivalent to memset, and so turns it into a call to memset, causing
infinite recursion.
Closes #170.
|
|
Fix bbl/pk living above 4 GiB
|
|
This supports bbl living above 4 GiB.
|
|
This allows bbl to be loaded above 4 GiB on RV64.
|
|
|
|
Building BBL for the LiteX/Rocket SoC
|
|
For systems where physical memory is mapped to a start address
different from 0x80000000, allow the default to be overridden
using the --with-mem-start argument to the configure script.
Signed-off-by: Gabriel Somlo <gsomlo@gmail.com>
|
|
On 64-bit Rocket with 'DefaultFPGAConfig' (using 'WithNSmallCores'),
the 'U' extension is not supported, and accessing 'mcounteren' would
trigger an 'Illegal Instruction' trap.
Signed-off-by: Gabriel Somlo <gsomlo@gmail.com>
|
|
Closes #161
|
|
== is not defined in POSIX and will fail when configure
is called with shells that adhere strictly to POSIX like
dash
|
|
== is not specified by POSIX and will fail if a POSIX shell is called
which is done by the configure script.
Related to: https://github.com/void-linux/void-packages/issues/10949
|
|
configure script does not support --enable-32bit option since June 2018
(commit c3cf29a8f2f5f6a0b793bd1f24b083a759370a01). The right step
to enable 32-bit support in pk is to provide '--with-arch=rv32i' option to
configure.
|
|
|
|
|
|
openbsd related adjustments
|
|
|
|
|
|
h/t @michaeljclark
|
|
This reverts commit a02257a861a4d13f31868a27c197cfc5576101e1.
|
|
|
|
|
|
|
|
|
|
For eventual PMP purposes
|
|
|
|
This indicates the access is actually invalid, i.e., should not
be emulated.
|
|
This reverts commit 7bee30c1ff56975041ffc67cd0170d7477aba865.
All ones is no longer "reserved", so the old code is OK.
|
|
Fix the calculation for the number of interrupt enable words
|
|
The number of interrupt enable words should be the number of devices
divided by the number of bits per word (not the number of bytes per
word) and it should round up.
Without this fix, when using a larger number of interrupts,
the user will see a number of errors in qemu of the form:
plic: invalid register write: %08x
Signed-off-by: Logan Gunthorpe <logang@deltatee.com>
|
|
Fix stubs-lp64.h/stubs-lp64d.h/stubs-ilp32.h/stubs-ilp32d.h not found
|
|
|
|
A portend from git-submodule:
$ git submodule update --init --recursive
fatal: No url found for submodule path 'softfloat/berkeley-softfloat-3' in .gitmodules
|
|
|
|
Use a proxy syscall instead of a blocking character write.
Resolves #84
|
|
from m-mode. (#117)
|
|
bbl: boot payload in machine mode on --enable-boot-machine
|
|
For now, we always compile files with -mabi option by using
soft-fp ABI. But there are some files use the header which in
toolchain, like unistd.h, stdint.h and so on. Finally, these
header files include other header files which existing depend
on ABI such as stubs-lp64.h or stubs-lp64d.h. So it causes the
header file not found when using the double-float toolchain with
soft-float ABI.
Fix up by compiling files with -march and -mabi options only if
there is specifying the --with-arch option at configure time.
If use the --with-arch option at configure time, that means your
toolchain has multi-lib support, so always building riscv-pk
by soft-float ABI is fine. Otherwise, we don't compile files with
specifying march and mabi options explicitly
|
|
Currently it's being used by both enter_supervisor_mode and enter_machine_mode
|
|
|
|
If --enable-boot-machine is passed, BBL disables VM and runs the payload in machine mode.
This is useful for payloads (e.g. RTOSes or other OSes) that want to run
only in machine mode while still relying on bbl/pk for system calls and emulation
|
|
Upgrade SoftFloat
|
|
Include .bss section to the binary so dtb_output() gets full size of payload
|
|
Correct the comment of timer interrupt
|
|
|