forked from Mirrors/opensbi

Since QEMU v5.1, if there is no "-bios" option provided, the default OpenSBI firmware will be loaded by QEMU as the BIOS automatically, hence to load fw_payload type image, we should explicitly pass the "-bios" option to QEMU. Signed-off-by: Bin Meng <bin.meng@windriver.com> Reviewed-by: Atish Patra <atish.patra@wdc.com>
41 lines
1.1 KiB
Makefile
41 lines
1.1 KiB
Makefile
#
|
|
# SPDX-License-Identifier: BSD-2-Clause
|
|
#
|
|
# Copyright (c) 2020 Western Digital Corporation or its affiliates.
|
|
#
|
|
# Authors:
|
|
# Anup Patel <anup.patel@wdc.com>
|
|
#
|
|
|
|
# Compiler flags
|
|
platform-cppflags-y =
|
|
platform-cflags-y =
|
|
platform-asflags-y =
|
|
platform-ldflags-y =
|
|
|
|
# Command for platform specific "make run"
|
|
platform-runcmd = qemu-system-riscv$(PLATFORM_RISCV_XLEN) -M virt -m 256M \
|
|
-nographic -bios $(build_dir)/platform/generic/firmware/fw_payload.elf
|
|
|
|
# Blobs to build
|
|
FW_TEXT_START=0x80000000
|
|
FW_DYNAMIC=y
|
|
FW_JUMP=y
|
|
ifeq ($(PLATFORM_RISCV_XLEN), 32)
|
|
# This needs to be 4MB aligned for 32-bit system
|
|
FW_JUMP_ADDR=$(shell printf "0x%X" $$(($(FW_TEXT_START) + 0x400000)))
|
|
else
|
|
# This needs to be 2MB aligned for 64-bit system
|
|
FW_JUMP_ADDR=$(shell printf "0x%X" $$(($(FW_TEXT_START) + 0x200000)))
|
|
endif
|
|
FW_JUMP_FDT_ADDR=$(shell printf "0x%X" $$(($(FW_TEXT_START) + 0x2200000)))
|
|
FW_PAYLOAD=y
|
|
ifeq ($(PLATFORM_RISCV_XLEN), 32)
|
|
# This needs to be 4MB aligned for 32-bit system
|
|
FW_PAYLOAD_OFFSET=0x400000
|
|
else
|
|
# This needs to be 2MB aligned for 64-bit system
|
|
FW_PAYLOAD_OFFSET=0x200000
|
|
endif
|
|
FW_PAYLOAD_FDT_ADDR=$(FW_JUMP_FDT_ADDR)
|