Skip to content
Snippets Groups Projects
  1. Dec 18, 2021
  2. Dec 03, 2021
  3. Nov 13, 2021
    • Alexey Kardashevskiy's avatar
      pseries: Update SLOF firmware image · 73944a4b
      Alexey Kardashevskiy authored
      
      This has really just one fix from Stefan, the rest is housekeeping.
      
      The full changelog is:
      
      Alexey Kardashevskiy (3):
            Revert "make: Define default rule for .c when V=1 or V=2"
            js2x: Fix compile and cleanup
            version: update to 20211112
      
      Stefan Berger (1):
            tcgbios: Disable platform hierarchy in case of failure
      
      Thomas Huth (8):
            Mention the CR vs. LF problem in the documentation
            slof/fs/accept: Replace TABs with spaces
            Fix the URL to the Linux kernel coding style
            lib/libc/README.txt: Fix "cannel" typo
            travis.yml: Fix keywords
            travis.yml: Update to Focal Fossa
            travis.yml: Compile-test the qemu build
            Silence some trivial compiler warning in the js2x code
      
      Signed-off-by: default avatarAlexey Kardashevskiy <aik@ozlabs.ru>
      73944a4b
  4. Nov 02, 2021
  5. Nov 01, 2021
  6. Oct 22, 2021
  7. Oct 12, 2021
  8. Sep 30, 2021
  9. Sep 13, 2021
  10. Sep 08, 2021
  11. Aug 27, 2021
  12. Jul 13, 2021
    • Alexey Kardashevskiy's avatar
      pseries: Update SLOF firmware image · d01e8dcf
      Alexey Kardashevskiy authored
      
      This is all about TPM fixes and improvements.
      
      The change log is:
      
      Alexey Kardashevskiy (2):
            tcgbios: Fix warnings
            version: update to 20210711
      
      Stefan Berger (9):
            tcgbios: Fix details in log entries
            tcgbios: Fix a typo in the sha256 algo description
            tcgbios: Add implementations for sha1, sha384, and sha512
            tpm: Add firmware API call 2HASH-EXT-LOG
            tcgbios: Change format of S_CRTM_VERSION string to ucs-2
            tcgbios: Use assembly for 32 bit rotr in sha256
            tcgbios: Use The proper sha function for each PCR bank
            tcgbios: Add test cases and test script to run them
            Travis: Add script for running tests on Travis
      
      Thomas Huth (1):
            Fix bad header guard in version.h
      
      Signed-off-by: default avatarAlexey Kardashevskiy <aik@ozlabs.ru>
      Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
      d01e8dcf
  13. Jul 09, 2021
    • Alexey Kardashevskiy's avatar
      spapr: Fix implementation of Open Firmware client interface · 21bde1ec
      Alexey Kardashevskiy authored
      
      This addresses the comments from v22.
      
      The functional changes are (the VOF ones need retesting with Pegasos2):
      
      (VOF) setprop will start failing if the machine class callback
      did not handle it;
      (VOF) unit addresses are lowered in path_offset();
      (SPAPR) /chosen/bootargs is initialized from kernel_cmdline if
      the client did not change it.
      
      Fixes: 5c991e5d4378 ("spapr: Implement Open Firmware client interface")
      Cc: BALATON Zoltan <balaton@eik.bme.hu>
      Signed-off-by: default avatarAlexey Kardashevskiy <aik@ozlabs.ru>
      Message-Id: <20210708065625.548396-1-aik@ozlabs.ru>
      Tested-by: default avatarBALATON Zoltan <balaton@eik.bme.hu>
      Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
      21bde1ec
    • Alexey Kardashevskiy's avatar
      spapr: Implement Open Firmware client interface · fc8c745d
      Alexey Kardashevskiy authored
      The PAPR platform describes an OS environment that's presented by
      a combination of a hypervisor and firmware. The features it specifies
      require collaboration between the firmware and the hypervisor.
      
      Since the beginning, the runtime component of the firmware (RTAS) has
      been implemented as a 20 byte shim which simply forwards it to
      a hypercall implemented in qemu. The boot time firmware component is
      SLOF - but a build that's specific to qemu, and has always needed to be
      updated in sync with it. Even though we've managed to limit the amount
      of runtime communication we need between qemu and SLOF, there's some,
      and it has become increasingly awkward to handle as we've implemented
      new features.
      
      This implements a boot time OF client interface (CI) which is
      enabled by a new "x-vof" pseries machine option (stands for "Virtual Open
      Firmware). When enabled, QEMU implements the custom H_OF_CLIENT hcall
      which implements Open Firmware Client Interface (OF CI). This allows
      using a smaller stateless firmware which does not have to manage
      the device tree.
      
      The new "vof.bin" firmware image is included with source code under
      pc-bios/. It also includes RTAS blob.
      
      This implements a handful of CI methods just to get -kernel/-initrd
      working. In particular, this implements the device tree fetching and
      simple memory allocator - "claim" (an OF CI memory allocator) and updates
      "/memory@0/available" to report the client about available memory.
      
      This implements changing some device tree properties which we know how
      to deal with, the rest is ignored. To allow changes, this skips
      fdt_pack() when x-vof=on as not packing the blob leaves some room for
      appending.
      
      In absence of SLOF, this assigns phandles to device tree nodes to make
      device tree traversing work.
      
      When x-vof=on, this adds "/chosen" every time QEMU (re)builds a tree.
      
      This adds basic instances support which are managed by a hash map
      ihandle -> [phandle].
      
      Before the guest started, the used memory is:
      0..e60 - the initial firmware
      8000..10000 - stack
      400000.. - kernel
      3ea0000.. - initramdisk
      
      This OF CI does not implement "interpret".
      
      Unlike SLOF, this does not format uninitialized nvram. Instead, this
      includes a disk image with pre-formatted nvram.
      
      With this basic support, this can only boot into kernel directly.
      However this is just enough for the petitboot kernel and initradmdisk to
      boot from any possible source. Note this requires reasonably recent guest
      kernel with:
      https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=df5be5be8735
      
      
      
      The immediate benefit is much faster booting time which especially
      crucial with fully emulated early CPU bring up environments. Also this
      may come handy when/if GRUB-in-the-userspace sees light of the day.
      
      This separates VOF and sPAPR in a hope that VOF bits may be reused by
      other POWERPC boards which do not support pSeries.
      
      This assumes potential support for booting from QEMU backends
      such as blockdev or netdev without devices/drivers used.
      
      Signed-off-by: default avatarAlexey Kardashevskiy <aik@ozlabs.ru>
      Message-Id: <20210625055155.2252896-1-aik@ozlabs.ru>
      Reviewed-by: default avatarBALATON Zoltan <balaton@eik.bme.hu>
      [dwg: Adjusted some includes which broke compile in some more obscure
       compilation setups]
      Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
      fc8c745d
    • Bin Meng's avatar
      roms/u-boot: Bump ppce500 u-boot to v2021.07 to add eTSEC support · a0c3747e
      Bin Meng authored
      Update the QEMU shipped u-boot.e500 image built from U-Boot mainline
      v2021.07 release, which added eTSEC support to the QEMU ppce500 target,
      via the following U-Boot series:
      
        http://patchwork.ozlabs.org/project/uboot/list/?series=233875&state=*
      
      The cross-compilation toolchain used to build the U-Boot image is:
      https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/10.1.0/x86_64-gcc-10.1.0-nolibc-powerpc-linux.tar.xz
      
      
      
      Signed-off-by: default avatarBin Meng <bmeng.cn@gmail.com>
      Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
      a0c3747e
  14. Jun 28, 2021
  15. Jun 02, 2021
  16. May 14, 2021
  17. May 10, 2021
  18. May 09, 2021
  19. May 04, 2021
  20. Mar 16, 2021
  21. Mar 09, 2021
    • Alexey Kardashevskiy's avatar
      pseries: Update SLOF firmware image · b88e0a57
      Alexey Kardashevskiy authored
      
      This is mostly compiler warnings fixed but while doing this,
      a bug in MIN() in tcgbios was found.
      
      Alexey Kardashevskiy (14):
            helpers: Define MIN()
            libc: Compile with -Wextra
            elf: Compile with -Wextra
            usb: Compile with -Wextra
            veth: Compile with -Wextra
            virtio: Compile with -Wextra
            e1000: Compile with -Wextra
            libnet: Compile with -Wextra
            libhv: Compile with -Wextra
            libnvram: Compile with -Wextra
            libtpm: Compile with -Wextra
            slof/prim: Compile with -Wextra
            Makefile: Actually compile with -Wextra
            version: update to 20210217
      
      Thomas Huth (1):
            virtio-serial: Remove superfluous serial-* words
      
      Signed-off-by: default avatarAlexey Kardashevskiy <aik@ozlabs.ru>
      Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
      b88e0a57
  22. Mar 04, 2021
    • Bin Meng's avatar
      roms/opensbi: Upgrade from v0.8 to v0.9 · 454d1e7c
      Bin Meng authored
      
      Upgrade OpenSBI from v0.8 to v0.9 and the pre-built bios images.
      
      The v0.9 release includes the following commits:
      
      35bc810 docs/platform: Update QEMU parameter for fw_payload
      78afe11 config.mk: Update QEMU run command for generic and sifive fu540 platforms
      ec3e5b1 docs/platform: sifive_fu540: Update U-Boot instructions
      7d61a68 README.md: fix markdown link formatting
      a5f9104 lib/utils: fdt: Update FDT expand size to 1024 for reserved memory node
      ec1abf6 include: sbi_bitops: Remove dead shift assignment in ffs/fls
      8e47649 lib: Add sbi_strncmp implementation
      2845d2d lib: utils: Add a macro in libfdt_env.h for strncmp
      2cfd2fc lib: utils: Use strncmp in fdt_parse_hart_id()
      937caee lib: sbi_misaligned_ldst: Determine transformed instruction length correctly
      4b18a2a firmware: fw_base: Improve exception stack setup in trap handler
      9d56961 lib: sbi_trap: Fix hstatus.SPVP update in sbi_trap_redirect()
      d7f87d9 platform: kendryte/k210: fixup FDT
      e435ba0 lib: sbi_init: Avoid thundering hurd problem with coldboot_lock
      4f3bad6 lib: sbi: Handle the case where MTVAL has illegal instruction address
      7b0b289 lib: sbi: Remove redundant SBI_HART_HAS_PMP feature
      74d1db7 lib: sbi: Improve PMP CSR detection and progamming
      2c341f7 lib: sbi: Detect and print MHPM counters at boot-time
      162d453 include: sbi: Few cosmetic changes in riscv_encoding.h
      ebc8ebc lib: sbi: Improve HPM CSR read/write emulation
      dcb10c00 lib: sbi: Don't handle VS-mode ecall in sbi_trap_handler()
      bef63d6 include: Rename ECALL defines to match latest RISC-V spec
      c1c7c3e lib: sbi_trap: Allow M-mode to M-mode ECALLs
      6734304 lib: sbi: Allow specifying start mode to sbi_hsm_hart_start() API
      7ccf6bf lib: sbi: Allow specifying mode in sbi_hart_pmp_check_addr() API
      9f935a4 lib: utils: Improve fdt_cpu_fixup() implementation
      172fa16 lib: sbi: Ensure coldboot HART supports next privilege mode
      aaeca7e platform: generic: Don't mark non-MMU HARTs as invalid
      7701ea1 lib: sbi: Fix PMP CSR detection
      79bf80b lib: sbi_scratch: typo scatch
      a04c465 makefile: fix clean directive
      af4b50f Makefile: Build ELF, BIN and LD script in platform build directory
      6ca0969 firmware: Add common FW_FDT_PATH compile-time option
      9c07c51 firmware: Remove FW_PAYLOAD_FDT_PATH compile-time option
      e9a4bfb Makefile: Allow padding zeros when converting DTB to C source
      a0f2d4a platform: kendryte/k210: Add some padding for FDT fixups
      dbeeacb include: sbi: Remove redundant includes from sbi_platform.h
      a12d46a include: sbi: Remove pmp_region callbacks from sbi_platform_operations
      a126886 lib: sbi: Configure PMP late in coldboot and warmboot path
      f81d6f6 lib: sbi: Remove redundant hartid parameter from sbi_hart_init()
      8b65005 include: sbi: Make hartmask pointer const in sbi_hartmask_test_hart()
      b1678af lib: sbi: Add initial domain support
      e73b92d lib: sbi: Extend sbi_hsm_hart_started_mask() for domains
      3a30d2c lib: sbi: Extend sbi_hsm_hart_start() for domains
      530e95b lib: sbi: Optimize sbi_hsm_hart_started_mask() implementation
      3e20037 lib: sbi: Extend sbi_system_reset() for domains
      5edbb7c lib: utils: Update fdt_reserved_memory_fixup() to use current domain
      5fd99db lib: utils: Update fdt_cpu_fixup() to use current domain
      e856462 lib: sbi: Remove redundant sbi_hart_pmp_xyz() functions
      c10c30b lib: sbi: Configure PMP based on domain memory regions
      c347408 lib: sbi: Display domain details in boot prints
      fdf5d5c docs: Add initial documentation for domain support
      74c0ea1 lib: utils: Implement "ranges" property parsing
      bf21632 lib: sbi: Detect PMP granularity and number of address bits
      a809f40 lib: sbi: Improve boot time print with additional PMP information
      914f81f Makefile: Add option to use toolchain default ABI and ISA string
      48616b3 lib: sbi: Improve boot prints in cold boot sequence
      781cafd docs: fix a typo error
      54a7734 include: sbi: Add SBI SRST extension related defines
      c4acc60 include: sbi: Remove opensbi specific reset type defines
      da07479 platform: Remove dummy system reset functions
      5c429ae lib: sbi: Improve system reset platform operations
      548d03e lib: sbi: Implement System Reset (SRST) SBI extension
      2677324 firmware: fw_base: Optimize trap handler for RV32 systems
      8d2edc4 lib: sbi: Fix sbi_hart_switch_mode() for u-mode
      3d921fa lib: sbi: Fix typo in sbi_domain_finalize()
      4e37022 lib: sbi: Fix domain_count check in sbi_domain_finalize()
      c709d40 lib: sbi: Auto start domain only if boot HART within limits
      c1f6d89 include: sbi: Use lower bits for domain memory region permissions
      62ea4f4 lib: sbi: Override domain boot HART when coldboot HART assigned to it
      555e737 lib: sbi: Add error prints in sbi_domain_finalize()
      9b65dca include: sbi: Add domains_init() platform operation
      c0d2baa docs: Add domain device tree binding documentation
      ba741ea lib: utils: Add helper routines to populate domains from FDT
      4fffb53 platform: generic: Populate domains from FDT
      e7da0b4 lib: utils/libfdt: Upgrade to v1.6.0 release
      2179777 lib: utils: Allow FDT domain iteration functions to fail
      7baccfc lib: sbi: Add function to register new domain
      6fc1986 lib: utils: Remove fdt_domain_get() function
      a029bd9 lib: sbi: Remove domain_get() platform callback function
      7dcb1e1 lib: sbi: Fix sign-extension in sbi_misaligned_load_handler()
      80bc506 lib: sbi: Replace args with trap registers in ecall handler
      b7df5e4 lib: sbi: Introduce sbi_trap_exit() API
      12394a2 lib: sbi: Allow custom local TLB flush function
      0d49c3b lib: utils: Fix shakti uart implementation
      db56341 lib: sbi: Allow platforms to provide root domain memory regions
      e884416 include: sbi: No need to pack struct sbi_trap_regs
      386eba2 include: sbi: No need to pack struct sbi_scratch
      1bbf361 include: sbi: Don't pack struct sbi_platform and sbi_platform_operations
      da5293f platform: template: Fix compile error
      234ed8e include: Bump-up version to 0.9
      
      Signed-off-by: default avatarBin Meng <bin.meng@windriver.com>
      Reviewed-by: default avatarAlistair Francis <alistair.francis@wdc.com>
      Message-Id: 20210119234438.10132-1-bmeng.cn@gmail.com
      Signed-off-by: default avatarAlistair Francis <alistair.francis@wdc.com>
      454d1e7c
  23. Feb 09, 2021
  24. Feb 08, 2021
  25. Jan 23, 2021
  26. Dec 15, 2020
  27. Nov 23, 2020
Loading