[PATCH v3 1/4] arm: x86: qemu: move qfw to DM, include Arm support

Asherah Connor ashe at kivikakk.ee
Wed Feb 24 00:54:01 CET 2021


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


More information about the U-Boot mailing list