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. V2: - Add an entry to the maintainers file - Add some documentation - Perform bounds checking on the data_len - Register and unregister the reset in the realise/unrealise Changes since RFC: - Add support for BE Alistair Francis (2): generic-loader: Add a generic loader docs: Add a generic loader explanation document MAINTAINERS | 6 ++ default-configs/arm-softmmu.mak | 1 + docs/generic-loader.txt | 21 ++++++ hw/misc/Makefile.objs | 2 + hw/misc/generic-loader.c | 143 +++++++++++++++++++++++++++++++++++++++ include/hw/misc/generic-loader.h | 50 ++++++++++++++ 6 files changed, 223 insertions(+) create mode 100644 docs/generic-loader.txt create mode 100644 hw/misc/generic-loader.c create mode 100644 include/hw/misc/generic-loader.h -- 2.5.0