From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: Re: [PATCH RFC 4/4] hvmloader:ovmf: setup E820 map Date: Wed, 20 Nov 2013 09:04:29 -0500 Message-ID: <20131120140429.GB9124@phenom.dumpdata.com> References: <1384531165-3600-1-git-send-email-wei.liu2@citrix.com> <1384531165-3600-5-git-send-email-wei.liu2@citrix.com> <20131119195631.GA7921@phenom.dumpdata.com> <20131119200525.GC12622@zion.uk.xensource.com> <1384942331.28441.22.camel@kazak.uk.xensource.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail6.bemta14.messagelabs.com ([193.109.254.103]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1Vj8OT-0001zV-4Y for xen-devel@lists.xenproject.org; Wed, 20 Nov 2013 14:04:37 +0000 Content-Disposition: inline In-Reply-To: <1384942331.28441.22.camel@kazak.uk.xensource.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: Ian Campbell Cc: xen-devel@lists.xenproject.org, Wei Liu List-Id: xen-devel@lists.xenproject.org On Wed, Nov 20, 2013 at 10:12:11AM +0000, Ian Campbell wrote: > On Tue, 2013-11-19 at 20:05 +0000, Wei Liu wrote: > > On Tue, Nov 19, 2013 at 02:56:31PM -0500, Konrad Rzeszutek Wilk wrote: > > > On Fri, Nov 15, 2013 at 03:59:25PM +0000, Wei Liu wrote: > > > > E820 map will be used by OVMF to create memory map. > > > > > > > > Signed-off-by: Wei Liu > > > > --- > > > > tools/firmware/hvmloader/ovmf.c | 13 ++++++++++++- > > > > 1 file changed, 12 insertions(+), 1 deletion(-) > > > > > > > > diff --git a/tools/firmware/hvmloader/ovmf.c b/tools/firmware/hvmloader/ovmf.c > > > > index c253083..52ccd0d 100644 > > > > --- a/tools/firmware/hvmloader/ovmf.c > > > > +++ b/tools/firmware/hvmloader/ovmf.c > > > > @@ -128,6 +128,17 @@ static void ovmf_create_smbios_tables(void) > > > > SMBIOS_PHYSICAL_END); > > > > } > > > > > > > > +static void ovmf_setup_e820(void) > > > > +{ > > > > + struct ovmf_info *info = (void *)OVMF_INFO_PHYSICAL_ADDRESS; > > > > + struct e820entry *e820 = scratch_alloc(sizeof(struct e820entry)*16, 0); > > > > > > 16? Why not 128 (the default in most kernels)? > > > > Aye, sir. :-) > > This is an internal datastructure which hvmloader generates an e820 > into, it only needs to be large enough to hold whatever hvmloader > currently generates and not the theoretical maximum. > > I think 16 is more than sufficient for now. In fact by looking at > build_e820_table it seems that it currently generates at most 9 entries. > > If you really wanted to change something here then either expose a > suitable table size from e820.[ch] (e.g. as a #define) to > {seabios,ovmf}.c or pass in the allocated size and validate it against > nr in build_e820_table. OK, I was thinking to make e820_hole parameter work with HVM. Which would mean that the E820 can be up to 128. I can do the right change to "allocated size and validate it against nr in build_e820_table" when I get to this point. > > Ian. >