From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:52427) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bTBnH-0000cg-TN for qemu-devel@nongnu.org; Fri, 29 Jul 2016 13:41:57 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bTBnF-0002bX-R3 for qemu-devel@nongnu.org; Fri, 29 Jul 2016 13:41:54 -0400 Received: from mail-ua0-x22a.google.com ([2607:f8b0:400c:c08::22a]:35793) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bTBnE-0002bF-Ja for qemu-devel@nongnu.org; Fri, 29 Jul 2016 13:41:53 -0400 Received: by mail-ua0-x22a.google.com with SMTP id l32so66804322ual.2 for ; Fri, 29 Jul 2016 10:41:52 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: <9404f06c7efcb58a8076c57e8b0cffa63c12868b.1468454556.git.alistair.francis@xilinx.com> References: <9404f06c7efcb58a8076c57e8b0cffa63c12868b.1468454556.git.alistair.francis@xilinx.com> From: Peter Maydell Date: Fri, 29 Jul 2016 18:41:32 +0100 Message-ID: Content-Type: text/plain; charset=UTF-8 Subject: Re: [Qemu-devel] [PATCH v9 5/8] loader: Add AddressSpace loading support to uImages List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Alistair Francis Cc: QEMU Developers , Peter Crosthwaite , Markus Armbruster , Christopher Covington , Paolo Bonzini On 14 July 2016 at 01:03, Alistair Francis wrote: > Add a new function load_uimage_as() that allows the caller to > specify an AddressSpace to use when loading the uImage. The > original load_uimage() function doesn't have any change in > functionality. > > Signed-off-by: Alistair Francis > --- > > hw/core/loader.c | 17 +++++++++++++---- > include/hw/loader.h | 6 ++++++ > 2 files changed, 19 insertions(+), 4 deletions(-) > > diff --git a/hw/core/loader.c b/hw/core/loader.c > index 0f69894..861dbc2 100644 > --- a/hw/core/loader.c > +++ b/hw/core/loader.c > @@ -581,7 +581,7 @@ static ssize_t gunzip(void *dst, size_t dstlen, uint8_t *src, > static int load_uboot_image(const char *filename, hwaddr *ep, hwaddr *loadaddr, > int *is_linux, uint8_t image_type, > uint64_t (*translate_fn)(void *, uint64_t), > - void *translate_opaque) > + void *translate_opaque, AddressSpace *as) > { > int fd; > int size; > @@ -682,7 +682,7 @@ static int load_uboot_image(const char *filename, hwaddr *ep, hwaddr *loadaddr, > hdr->ih_size = bytes; > } > > - rom_add_blob_fixed(filename, data, hdr->ih_size, address); > + rom_add_blob_fixed_as(filename, data, hdr->ih_size, address, as); > > ret = hdr->ih_size; > > @@ -698,14 +698,23 @@ int load_uimage(const char *filename, hwaddr *ep, hwaddr *loadaddr, > void *translate_opaque) > { > return load_uboot_image(filename, ep, loadaddr, is_linux, IH_TYPE_KERNEL, > - translate_fn, translate_opaque); > + translate_fn, translate_opaque, NULL); > +} > + > +int load_uimage_as(const char *filename, hwaddr *ep, hwaddr *loadaddr, > + int *is_linux, > + uint64_t (*translate_fn)(void *, uint64_t), > + void *translate_opaque, AddressSpace *as) > +{ > + return load_uboot_image(filename, ep, loadaddr, is_linux, IH_TYPE_KERNEL, > + translate_fn, translate_opaque, as); > } > > /* Load a ramdisk. */ > int load_ramdisk(const char *filename, hwaddr addr, uint64_t max_sz) > { > return load_uboot_image(filename, NULL, &addr, NULL, IH_TYPE_RAMDISK, > - NULL, NULL); > + NULL, NULL, NULL); > } > > /* Load a gzip-compressed kernel to a dynamically allocated buffer. */ > diff --git a/include/hw/loader.h b/include/hw/loader.h > index 36a16cc..ede98f6 100644 > --- a/include/hw/loader.h > +++ b/include/hw/loader.h > @@ -108,6 +108,10 @@ int load_uimage(const char *filename, hwaddr *ep, > hwaddr *loadaddr, int *is_linux, > uint64_t (*translate_fn)(void *, uint64_t), > void *translate_opaque); > +int load_uimage_as(const char *filename, hwaddr *ep, > + hwaddr *loadaddr, int *is_linux, > + uint64_t (*translate_fn)(void *, uint64_t), > + void *translate_opaque, AddressSpace *as); The code changes are good, but could we have a doc comment for this new function, please? thanks -- PMM