From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50549) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aKEce-0007OS-NS for qemu-devel@nongnu.org; Fri, 15 Jan 2016 19:21:41 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aKEcb-0006uR-Fv for qemu-devel@nongnu.org; Fri, 15 Jan 2016 19:21:40 -0500 Received: from mail-cys01nam02on0084.outbound.protection.outlook.com ([104.47.37.84]:22703 helo=NAM02-CY1-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aKEcb-0006uN-8i for qemu-devel@nongnu.org; Fri, 15 Jan 2016 19:21:37 -0500 From: Alistair Francis Date: Fri, 15 Jan 2016 16:19:09 -0800 Message-ID: MIME-Version: 1.0 Content-Type: text/plain Subject: [Qemu-devel] [RFC 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, crosthwaitepeter@gmail.com, pbonzini@redhat.com, lig.fnst@cn.fujitsu.com, alistair.francis@xilinx.com This work is based on the original work by Li Guang with extra features added by Peter C. 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. At the moment only LE ARM is supported. I haven't tested BE support, so I'm not sure what state it is in. 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. I have tested this on ARM and it works. What do people think? Is it worth pursuing to try and get accepted? 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 | 121 +++++++++++++++++++++++++++++++++++++++ include/hw/misc/generic-loader.h | 50 ++++++++++++++++ qdev-monitor.c | 2 + 5 files changed, 176 insertions(+) create mode 100644 hw/misc/generic-loader.c create mode 100644 include/hw/misc/generic-loader.h -- 2.5.0