From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45483) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bmaey-0001VY-A5 for qemu-devel@nongnu.org; Wed, 21 Sep 2016 02:05:33 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bmaet-00047h-87 for qemu-devel@nongnu.org; Wed, 21 Sep 2016 02:05:31 -0400 Received: from mx1.redhat.com ([209.132.183.28]:48986) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bmaet-00047E-1v for qemu-devel@nongnu.org; Wed, 21 Sep 2016 02:05:27 -0400 From: Markus Armbruster References: Date: Wed, 21 Sep 2016 08:05:23 +0200 In-Reply-To: (Alistair Francis's message of "Tue, 20 Sep 2016 07:54:07 -0700") Message-ID: <877fa5aiu4.fsf@dusky.pond.sub.org> MIME-Version: 1.0 Content-Type: text/plain Subject: Re: [Qemu-devel] [PATCH v11 0/8] Add a generic loader List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Alistair Francis Cc: qemu-devel@nongnu.org, peter.maydell@linaro.org, cov@codeaurora.org, crosthwaitepeter@gmail.com, pbonzini@redhat.com Alistair Francis writes: > 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 I know it's way too late for design questions, but the thought just occured to me: -device gives you what you need without defining yet another command line option (good!), but is it appropriate? It's not exactly a device... Would -object be a better fit? I honestly don't know. Paolo? If this question leads to changes, they can be done on top. > 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). > > Tested with the latest Xilinx ZynqMP machine, if I enable EL3 and EL2 I can > boot ATF through to u-boot using the loader to load the images. > > It can also be used to set registers. > > This patch series makes the load_elf() function more generic by not > requiring an architecture. It also adds new functions load_elf_as(), > load_uimage_as and load_image_targphys_as which allows custom > AddressSpaces when loading images.