[U-Boot] [PATCH v4 0/8] x86: qemu: add fw_cfg interface support for qemu-x86 targets
Bin Meng
bmeng.cn at gmail.com
Mon Jan 4 05:08:53 CET 2016
Hi Miao,
On Thu, Dec 31, 2015 at 10:55 AM, Miao Yan <yanmiaobest at gmail.com> wrote:
> The fw_cfg interface provided by QEMU allow guests to retrieve various information
> about the system, e.g. cpu number, variaous firmware data, kernel setup, etc. The
> fw_cfg interface can be accessed through 3 IO ports (on x86), using x86 in/out
> instructions.
>
> - 0x510: select configuration items to access
> - 0x511: reading this port will return data selected in 0x510
> - 0x514: this can be used to detect if DMA interface is available
>
> If fw_cfg DMA interface is available, it can be used to accelerate
> accesses.
>
> This patchset adds the following supports for qemu-x86 targets:
>
> + the fw_cfg driver itself
>
> + add a U-Boot command 'fw' to support direct accessing kernel informtion
> from fw_cfg interface, this saves the time of loading them from hard disk or
> network again, through emulated devices.
>
> + use fw_cfg to get cpu number at runtime, so smp boot no longer relies on
> the cpu node hard-coded in dts files.
>
> Changes in v4:
> - drop [PATCH v3 7/8] and limit maximum supported cpu number
> - chance 'fw load' to take second parameter for initrd load address
> - change default initrd load address for qemu-x86
>
> Miao Yan (8):
> x86: qemu: add fw_cfg support
> x86: qemu: add a cpu uclass driver for qemu target
> x86: fix a typo in function name
> x86: use actual CPU number for allocating memory
> x86: qemu: add qemu_fwcfg_fdt_fixup()
> x86: qemu: fix up cpu node in device tree
> x86: qemu: adjust ramdisk load address
> x86: qemu: add documentaion for the fw_cfg interface
>
> arch/x86/cpu/mp_init.c | 12 +-
> arch/x86/cpu/qemu/Makefile | 2 +-
> arch/x86/cpu/qemu/cpu.c | 57 +++++++
> arch/x86/cpu/qemu/fw_cfg.c | 333 +++++++++++++++++++++++++++++++++++++++
> arch/x86/cpu/qemu/fw_cfg.h | 108 +++++++++++++
> arch/x86/cpu/qemu/qemu.c | 7 +
> arch/x86/dts/qemu-x86_i440fx.dts | 19 +--
> arch/x86/dts/qemu-x86_q35.dts | 19 +--
> doc/README.x86 | 35 +++-
> include/configs/qemu-x86.h | 13 ++
> 10 files changed, 559 insertions(+), 46 deletions(-)
> create mode 100644 arch/x86/cpu/qemu/cpu.c
> create mode 100644 arch/x86/cpu/qemu/fw_cfg.c
> create mode 100644 arch/x86/cpu/qemu/fw_cfg.h
>
> --
Please add those git tags (eg: Reviewed-by, Tested-By, Acked-by) when
you rework your patch series. This helps future reviews of the same
patch series.
Regards,
Bin
More information about the U-Boot
mailing list