universalisos/kernel/config/icicle_hss_payload.yaml

39 lines
1.3 KiB
YAML

#
# HSS Payload Generator config for UniversalisOS on the PolarFire SoC Icicle Kit.
#
# Derived from tear-de-silicio 0.1.0-alpha.1
# sdk/linux/buildroot-external-polarstar-fpga/board/microchip/polarstar_fpga_qemu/config.yaml
# (their payload is U-Boot; ours is the UniversalisOS hypervisor flat binary).
#
# All four U54 application harts are released at 0x80200000 in S-mode; u54_1 is
# the boot/BSP hart, u54_2..u54_4 are secondaries started later by the BSP via
# SBI HSM hart_start. The E51 monitor (hart 0) is owned by the HSS and is not
# listed here.
#
# Build the input binary with:
# make -C kernel ARCH=riscv PLATFORM=polarfire UOS_BOOT=firmware bin
# so the byte at 0x80200000 is _start_firmware (sets __uos_has_sbi=1 and routes
# timer/IPI/HSM through SBI).
#
# Generate the payload:
# hss-payload-generator -c kernel/config/icicle_hss_payload.yaml \
# kernel/build/riscv/polarfire/universalisos.bin \
# kernel/build/riscv/polarfire/payload.bin
#
set-name: 'UniversalisOS::Icicle'
hart-entry-points:
u54_1: '0x80200000'
u54_2: '0x80200000'
u54_3: '0x80200000'
u54_4: '0x80200000'
payloads:
universalisos.bin:
exec-addr: '0x80200000'
owner-hart: u54_1
secondary-hart: u54_2
secondary-hart: u54_3
secondary-hart: u54_4
priv-mode: prv_s