This work is based on the original work by Li Guang with extra
features added by Peter C and myself.
The idea of this loader is to allow the user to load multiple images
or values into QEMU at startup.
Memory values can be loaded like this: -device
loader,addr=0xfd1a0104,data=0x8000000e,data-len=4
Images can be loaded like this: -device loader,file=./images/u-boot.elf,cpu=0
This can be useful and we use it a lot in Xilinx to load multiple images
into a machine at creation (ATF, Kernel and DTB for example).
It can also be used to set registers.
The limiation for arch is based off settting the ELF_ARCH macro.
The reset patch is required otherwise the reset will never be registered
and the loader can't change the PC in the case of images.
Changes since RFC:
- Add support for BE
Alistair Francis (2):
qdev-monitor.c: Register reset function if the device has one
generic-loader: Add a generic loader
default-configs/arm-softmmu.mak | 1 +
hw/misc/Makefile.objs | 2 +
hw/misc/generic-loader.c | 127 +++++++++++++++++++++++++++++++++++++++
include/hw/misc/generic-loader.h | 50 +++++++++++++++
qdev-monitor.c | 2 +
5 files changed, 182 insertions(+)
create mode 100644 hw/misc/generic-loader.c
create mode 100644 include/hw/misc/generic-loader.h