From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:40398) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aW9JK-0001fR-5t for qemu-devel@nongnu.org; Wed, 17 Feb 2016 16:06:58 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aW9JG-0005zD-Ui for qemu-devel@nongnu.org; Wed, 17 Feb 2016 16:06:58 -0500 Received: from mail-cys01nam02on0088.outbound.protection.outlook.com ([104.47.37.88]:64619 helo=NAM02-CY1-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aW9JG-0005yz-N9 for qemu-devel@nongnu.org; Wed, 17 Feb 2016 16:06:54 -0500 From: Alistair Francis Date: Wed, 17 Feb 2016 13:04:07 -0800 Message-ID: MIME-Version: 1.0 Content-Type: text/plain Subject: [Qemu-devel] [PATCH v1 0/2] Add a generic loader List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: peter.maydell@linaro.org, alistair.francis@xilinx.com, crosthwaitepeter@gmail.com, cov@codeaurora.org, pbonzini@redhat.com, lig.fnst@cn.fujitsu.com 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 -- 2.5.0