mb/emulation/qemu-riscv: Select DRIVERS_EMULATION_QEMU_FW_CFG

This patch also provides valid 'io_port_mmio_base', which is the addr of
VIRT_FW_CFG device @0x1010_0000 used to convey ACPI & SMBIOS info.

TEST=build and run successfully on QEMU rvvirt machine.

Change-Id: I3cfd3020f1edacbc647188ab232c0a35dbd71f74
Signed-off-by: Ziang Wang <wangziang.ok@bytedance.com>
Signed-off-by: Dong Wei <weidong.wd@bytedance.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/89344
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Maximilian Brune <maximilian.brune@9elements.com>
This commit is contained in:
Ziang Wang 2025-09-25 17:04:35 +08:00 committed by Matt DeVillier
commit 622c504a71
4 changed files with 11 additions and 0 deletions

View file

@ -37,6 +37,7 @@ config BOARD_SPECIFIC_OPTIONS
select ARCH_RAMSTAGE_RISCV
select RISCV_USE_ARCH_TIMER
select FLATTENED_DEVICE_TREE
select DRIVERS_EMULATION_QEMU_FW_CFG
config MEMLAYOUT_LD_FILE
string

View file

@ -5,6 +5,7 @@ bootblock-y += uart.c
bootblock-y += rom_media.c
bootblock-y += clint.c
bootblock-y += smp.c
bootblock-y += mmio.c
romstage-y += cbmem.c
romstage-y += romstage.c
@ -12,6 +13,7 @@ romstage-y += uart.c
romstage-y += rom_media.c
romstage-y += clint.c
romstage-y += smp.c
romstage-y += mmio.c
ramstage-y += mainboard.c
ramstage-y += uart.c
@ -20,5 +22,6 @@ ramstage-y += clint.c
ramstage-y += cbmem.c
ramstage-y += chip.c
ramstage-y += smp.c
ramstage-y += mmio.c
CPPFLAGS_common += -I$(src)/mainboard/$(MAINBOARDDIR)/include

View file

@ -4,5 +4,6 @@
#define QEMU_VIRT_PLIC 0x0c000000
#define QEMU_VIRT_UART0 0x10000000
#define QEMU_VIRT_VIRTIO 0x10001000
#define QEMU_VIRT_FW_CFG 0x10100000
#define QEMU_VIRT_FLASH 0x20000000
#define QEMU_VIRT_DRAM 0x80000000

View file

@ -0,0 +1,6 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
#include <types.h>
#include <mainboard/addressmap.h>
uintptr_t io_port_mmio_base = QEMU_VIRT_FW_CFG;