aboutsummaryrefslogtreecommitdiff
path: root/bbl
AgeCommit message (Collapse)AuthorFilesLines
2020-10-31Disable device tree filter when load a dts from file (#219)Yan2-0/+3
* 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
2020-10-30Revert "Disable device tree filter when load a dts from file (#217)"Andrew Waterman2-3/+0
This reverts commit a161e6f3ef31004e47a5b94b85c2e84b764f8637. Resolves #218
2020-10-29Disable device tree filter when load a dts from file (#217)Yan2-0/+3
* add device tree in elf, using --with-dts to add the absolute path of device tree * Disable device tree filter
2020-04-28Use correct offset for bbl.bin with non-default MEM_START (#187)Jessica Clarke1-1/+1
2020-04-28Support --without-payload for OpenSBI fw_jump-style booting (#186)Jessica Clarke2-5/+21
We expect the firmware to load the external payload at the second megapage, and that there is space to put the filtered FDT at 0x2200000 past the start of memory. With a default MEM_START of 0x80000000, this matches the standard OpenSBI values for FW_JUMP_ADDR and FW_JUMP_FDT_ADDR of 0x80400000/0x80200000 (RV32/RV64) and 0x82200000 respectively, so payloads linked for one should work with the other.
2019-10-22Merge pull request #150 from lsgunth/build_fixesAndrew Waterman1-0/+5
Build fixes
2019-06-11configure: Add option to set physical memory start addressGabriel L. Somlo1-1/+1
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>
2019-04-15bbl/bbl.ac: use = instead of == for comparing equality (#158)maxice81-2/+2
== is not defined in POSIX and will fail when configure is called with shells that adhere strictly to POSIX like dash
2019-03-22Always build bbl.binLogan Gunthorpe1-0/+5
bbl.bin is necessary for booting on hardware and is created by a simple objcopy line. It's much more convienent for riscv-pk to create this file then to expect the user to know to do it or to dig through the SDK's makefile to learn that it's required. Signed-off-by: Logan Gunthorpe <logang@deltatee.com>
2019-01-25Protect BBL data, not just textAndrew Waterman1-2/+2
h/t @michaeljclark
2019-01-04Protect M-mode memory from S-modeAndrew Waterman1-0/+47
2019-01-04Page-align the writable data sectionAndrew Waterman1-3/+4
For eventual PMP purposes
2019-01-04Clean up linker scripts a bitAndrew Waterman1-10/+2
2018-07-12bbl: boot payload in machine mode when --enable-boot-machine is passedHesham Almatary1-0/+4
2018-07-12configure: Add --enable-boot-machine in BBLHesham Almatary1-0/+5
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
2018-07-11Merge pull request #113 from riscv/licensePalmer Dabbelt2-0/+6
Upgrade SoftFloat
2018-07-11Merge pull request #91 from bukinr/masterPalmer Dabbelt1-1/+1
Include .bss section to the binary so dtb_output() gets full size of payload
2018-07-10Don't look for riscv_logo.txt if logo is not enabledAndrew Waterman2-0/+6
2018-07-09Properly license all nontrivial filesAndrew Waterman7-0/+14
2018-05-22RISC-V: Support separate firmware and kernel payloadMichael Clark3-6/+27
Support for separate firmware and kernel payload is added by updating BBL to read optional preloaded kernel address attributes from device-tree using a similar mechanism to that used to pass init ramdisk addresses to linux kernel. chosen { riscv,kernel-start = <0x00000000 0x80200000>; riscv,kernel-end = <0x00000000 0x80590634>; }; These attributes are added by QEMU and read by BBL when combining -bios <firmware-image> and -kernel <kernel-image> options. e.g. $ qemu-system-riscv64 -machine virt -bios bbl -kernel vmlinux With this change, bbl can be compiled without --with-payload and the dummy payload alignment is altered to make the memory footprint of the firmware-only bbl smaller. The dummy payload message is updated to indicate the alternative load method. This load method could also be supported by a first stage boot loader that reads seperate firmware and kernel from SPI flash. The main advantage of this new mechanism is that it eases kernel development by avoiding the riscv-pk packaging step after kernel builds, makes building per repository artefacts for CI simpler, and mimics bootloaders on other platforms that can load a kernel image file directly. Ultimately BBL should use an SPI driver to load the kernel image however this mechanism supports use cases such such as QEMU's -bios, -kernel and -initrd options following examples from other platforms that pass kernel entry to firmware via device-tree. Cc: Palmer Dabbelt <palmer@sifive.com> Cc: Alistair Francis <Alistair.Francis@wdc.com> Signed-off-by: Michael Clark <mjc@sifive.com>
2018-03-23Include .bss section to the binary so dtb_output() gets full sizeRuslan Bukin1-1/+1
of payload, in result DTB will not overlap with bss and will not be zeroed by OS
2017-11-03Fix line endings in the logoPalmer Dabbelt1-0/+5
2017-11-03Allow users to pick a logoPalmer Dabbelt5-24/+36
2017-11-03Remove the platform interfacePalmer Dabbelt4-6/+27
We now automatically detect everything that the platform interface used to be used for, so it's now obsolete!
2017-11-02Detect harts that can't boot Linux instead of hard-coding themPalmer Dabbelt1-2/+14
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.
2017-08-09The DTB argument to boot_other_hart shouldn't be used in BBLPalmer Dabbelt1-8/+6
I screwed up refactoring bbl.
2017-08-03Add the '--enable-print-device-tree' argumentPalmer Dabbelt1-3/+8
I'm trying to debug some device tree problems while booting Linux and figured it would be really nice to have access to the device tree while trying to debug these problems. I think this might be useful for lots of people, so I went ahead and cleaned up the code enough that it should actaully work in most cases.
2017-08-03Allow platform__get_logo to return NULLPalmer Dabbelt1-1/+3
2017-08-02Move DISABLED_HART_MASK to the platformPalmer Dabbelt1-1/+2
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.
2017-08-02Move the logo behind the platform interfacePalmer Dabbelt1-26/+2
SiFive has a different logo, so let platforms override said logo.
2017-08-02Add a platform interfacePalmer Dabbelt1-0/+1
SiFive's pk fork is the second one I've had to maintain, and it's a huge pain because people keep just leaving changes all over the tree. I want to introduce an interface that the platform-specific details can live behind so I don't have to keep doing these painful merges.
2017-04-05Rename HART_MASK to DISABLED_HART_MASK to clarify polarityAndrew Waterman1-1/+1
2017-04-05bbl: prevent named cores from bootingWesley W. Terpstra1-1/+1
2017-04-05fdt: redact clint, plic, and debug hardwareWesley W. Terpstra1-0/+6
2017-03-23bbl: copy dtb after the kernelWesley W. Terpstra1-1/+17
2017-03-22SBI: a0+a1 hold hartid+dtb pointer between boot loader stagesfdtWesley W. Terpstra1-4/+4
2017-02-20Don't block for acks on console writesAndrew Waterman7-69/+23
2017-02-17Clean up boot loader for physical address loadingAndrew Waterman3-20/+8
2017-02-17WIP towards ECALL interface for SBIAndrew Waterman1-51/+5
2017-02-15Incorporate sptbr/sfence.vma changesAndrew Waterman1-1/+1
2016-12-06avoid non-standard predefined macrosAndrew Waterman1-1/+1
2016-08-16add htif section in linker script, with ALIGNs to prevent MMIO and data from ↵Sagar Karandikar1-0/+10
being placed on same page (#32)
2016-07-06Udpate to new PTE formatAndrew Waterman1-2/+2
2016-04-30Move DRAM to high addressesAndrew Waterman2-5/+5
2016-03-09Refactor pk, bbl, machine into separate librariesAndrew Waterman8-0/+322
Yuck.