From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: Re: [PATCH v2 08/13] xsplice: Implement payload loading (v2) Date: Tue, 19 Jan 2016 11:59:11 -0500 Message-ID: <20160119165911.GE17737@char.us.oracle.com> References: <1452808031-706-1-git-send-email-konrad.wilk@oracle.com> <1452808031-706-9-git-send-email-konrad.wilk@oracle.com> <569E4990.1010603@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail6.bemta4.messagelabs.com ([85.158.143.247]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1aLZcm-0008GR-RP for xen-devel@lists.xenproject.org; Tue, 19 Jan 2016 16:59:20 +0000 Content-Disposition: inline In-Reply-To: <569E4990.1010603@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Ross Lagerwall Cc: wei.liu2@citrix.com, ian.campbell@citrix.com, andrew.cooper3@citrix.com, ian.jackson@eu.citrix.com, mpohlack@amazon.com, stefano.stabellini@citrix.com, jbeulich@suse.com, sasha.levin@oracle.com, xen-devel@lists.xenproject.org List-Id: xen-devel@lists.xenproject.org > >+static void find_hole(ssize_t pages, unsigned long *hole_start, > >+ unsigned long *hole_end) > >+{ > >+ struct payload *data, *data2; > >+ > >+ spin_lock(&payload_list_lock); > >+ list_for_each_entry ( data, &payload_list, list ) > >+ { > >+ list_for_each_entry ( data2, &payload_list, list ) > >+ { > >+ unsigned long start, end; > >+ > >+ start = (unsigned long)data2->payload_address; > >+ end = start + data2->payload_pages * PAGE_SIZE; > >+ if ( *hole_end > start && *hole_start < end ) > >+ { > >+ *hole_start = end; > >+ *hole_end = *hole_start + pages * PAGE_SIZE; > >+ break; > >+ } > >+ } > >+ if ( &data2->list == &payload_list ) > >+ break; > >+ } > >+ spin_unlock(&payload_list_lock); > >+} > > This function above should go down into the CONFIG_X86 section below. Odd. I have it in my tree. Ah right I - I had the patch not committed in. .. snip.. > >+int xsplice_elf_resolve_symbols(struct xsplice_elf *elf) .. snip.. > >+int xsplice_elf_perform_relocs(struct xsplice_elf *elf) .. snip.. > > Is there a reason the above two functions weren't put in the previous patch? Historical. I will move them there. Thanks! > > >diff --git a/xen/include/asm-arm/config.h b/xen/include/asm-arm/config.h > >index bd832df..4ea66bf 100644 > >--- a/xen/include/asm-arm/config.h > >+++ b/xen/include/asm-arm/config.h > >@@ -15,8 +15,10 @@ > > > > #if defined(CONFIG_ARM_64) > > # define LONG_BYTEORDER 3 > >+# define ELFSIZE 64 > > #else > > # define LONG_BYTEORDER 2 > >+# define ELFSIZE 32 > > #endif > > What does this do? Make Elf_Note and all the ELf_* macros actually work. > > (And perhaps it should also be in the previous patch since it's mentioned in > the previous patch's changelog?) I kind of lost where it was added. I could spin it out as a seperate patch - or make it part of the previous patch? Thoughts? > > -- > Ross Lagerwall