1. Oct 11, 2018
  2. Sep 24, 2018
  3. Sep 18, 2018
  4. Aug 15, 2018
  5. Aug 07, 2018
  6. Aug 04, 2018
  7. Jul 12, 2018
  8. Jul 11, 2018
  9. Jul 10, 2018
  10. Jun 21, 2018
  11. May 23, 2018
  12. May 22, 2018
    • Michael Clark's avatar
      RISC-V: Support separate firmware and kernel payload · 474ee5a8
      Michael Clark authored
      
      
      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: default avatarMichael Clark <mjc@sifive.com>
      474ee5a8
    • Zihao Yu's avatar
      machine,minit: initialize emulated FCSR in enter_supervisor_mode() (#106) · 9ffedde3
      Zihao Yu authored
      * If BBL emulates the FPU, the trap handler will load emulated FCSR from
        x0's save slot into tp. The emulated FCSR should be initialized, else
        the field of rounding mode will contain garbage codes. This will
        lead to raising SIGABRT for a user mode program which tries to print a
        floating point variable. In glibc, __printf_fp_l() (defined in
        riscv-glibc/stdio-common/printf_fp.c) will call round_away() (defined
        in riscv-glibc/include/rounding-mode.h). With a garbage rounding mode
        in emulated FCSR, round_away() may call abort().
      9ffedde3
  13. May 16, 2018
  14. May 09, 2018
  15. Apr 27, 2018
  16. Apr 25, 2018
  17. Apr 11, 2018
  18. Apr 10, 2018
  19. Mar 23, 2018
  20. Mar 22, 2018
    • aurel32's avatar
      Fix build with compilers defaulting to PIE (#90) · dcd6ee08
      aurel32 authored
      Debian toolchain defaults to PIE, and I guess that will also be the case
      of most distributions. This cause bbl to be non-functional.
      
      This patch fixes that by adding -fno-PIE in the default CFLAGS.
      dcd6ee08
  21. Mar 21, 2018
  22. Mar 17, 2018
  23. Mar 16, 2018
  24. Mar 06, 2018
  25. Feb 01, 2018
  26. Jan 23, 2018