
On 21/02/23 11:02:p, Tom Rini wrote:
On Tue, Feb 23, 2021 at 05:15:49PM +0100, Heinrich Schuchardt wrote:
On 2/23/21 5:03 PM, Tom Rini wrote:
On Tue, Feb 23, 2021 at 04:54:45PM +0100, Heinrich Schuchardt wrote:
qemu-system-riscv64 does not allow me to specify a file for the qfw interface.
Really? It's listed under the help (taken from out docker images): $ /opt/qemu/bin/qemu-system-riscv64 --help ... Debug/Expert options: -fw_cfg [name=]<name>,file=<file> add named fw_cfg entry with contents from file -fw_cfg [name=]<name>,string=<str> add named fw_cfg entry with contents from string
The man-page is shared by all qemu-system-*. It is not architecture specific. That is why it shows items like: "PS/2 mouse and keyboard".
qemu-system-riscv64 (v5.0.0) has no fw_cfg device:
$ qemu-system-riscv64 -machine virt -m 1G -nographic -bios u-boot -fw_cfg opt/foo,file=foo qemu-system-riscv64: -fw_cfg opt/foo,file=foo: fw_cfg device not available
qemu-system-aarch64 does not complain:
$ qemu-system-aarch64 -machine virt -m 1G -nographic -bios u-boot -fw_cfg opt/foo,file=foo
So all that's missing is someone hooking that up inside qemu itself. I'm pretty sure it works on PowerPC, from when I was trying to figure out how to pass something in to qemu-ppce500 a while ago. qemu-system-mips/sh4 don't complain.
A review of the various FW_CFG_ Kconfig options in QEMU itself suggests there is support on at least i386, arm, ppc, and mips (their arch terms). Looking further, it appears sparc(64) and hppa (HP PA-RISC) are also supported in the source base.
But actually trying it, it looks like a freshly built QEMU 5.2.0 does not support qfw on ppce500:
$ qemu-system-ppc -M ppce500 -nographic -bios \ build-qemu-ppce500/u-boot -fw_cfg xyz,string=hello qemu-system-ppc: -fw_cfg xyz,string=hello: fw_cfg device not available
Same for mips(64)(el). Maybe I missed a configuration option somewhere. The sparc systems work fine.
Best,
Asherah