aboutsummaryrefslogtreecommitdiff
path: root/bbl
AgeCommit message (Collapse)AuthorFilesLines
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>
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.