[U-Boot] [PATCH v6 0/8] x86: qemu: add fw_cfg interface support for qemu-x86 targets

Miao Yan yanmiaobest at gmail.com
Tue Jan 12 03:04:03 CET 2016


Hi Bin,

2016-01-07 17:31 GMT+08:00 Miao Yan <yanmiaobest at gmail.com>:
> 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 v6:
>   - fix oneline comment
>   - do not update bootargs when kernel cmdline only contains '\0'
>
> Miao Yan (8):
>   x86: adjust ramdisk load address
>   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: fix cpu device in smp boot
>   x86: qemu: remove cpu node in device tree
>   x86: qemu: add documentaion for the fw_cfg interface
>
>  arch/x86/cpu/mp_init.c           |  84 +++++++++++-
>  arch/x86/cpu/qemu/Makefile       |   2 +-
>  arch/x86/cpu/qemu/cpu.c          |  46 +++++++
>  arch/x86/cpu/qemu/fw_cfg.c       | 283 +++++++++++++++++++++++++++++++++++++++
>  arch/x86/cpu/qemu/qemu.c         |   3 +
>  arch/x86/dts/qemu-x86_i440fx.dts |   9 +-
>  arch/x86/dts/qemu-x86_q35.dts    |   9 +-
>  arch/x86/include/asm/fw_cfg.h    |  93 +++++++++++++
>  doc/README.x86                   |  34 ++++-
>  include/configs/x86-common.h     |   3 +-
>  10 files changed, 539 insertions(+), 27 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/include/asm/fw_cfg.h
>
> --
> 1.9.1
>

Is v6 OK for integration ? Thanks.


More information about the U-Boot mailing list