[U-Boot] [PATCH v5 0/8] x86: qemu: add fw_cfg interface support for qemu-x86 targets
Miao Yan
yanmiaobest at gmail.com
Mon Jan 4 09:00:47 CET 2016
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 v5:
+ change 'fw' to 'qfw'
+ dynamically bind cpu device instead of fixing device tree blob
+ various cleanups
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 | 85 +++++++++++-
arch/x86/cpu/qemu/Makefile | 2 +-
arch/x86/cpu/qemu/cpu.c | 52 +++++++
arch/x86/cpu/qemu/fw_cfg.c | 286 +++++++++++++++++++++++++++++++++++++++
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 | 95 +++++++++++++
doc/README.x86 | 34 ++++-
include/configs/x86-common.h | 3 +-
10 files changed, 551 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
More information about the U-Boot
mailing list