WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] Re: xen: do not create the extra e820 region at an addr lowe

To: Stefano Stabellini <stefano.stabellini@xxxxxxxxxx>, "Konrad Rzeszutek Wilk" <konrad.wilk@xxxxxxxxxx>
Subject: [Xen-devel] Re: xen: do not create the extra e820 region at an addr lower than 4G
From: Ian Campbell <Ian.Campbell@xxxxxxxxxx>
Date: Thu, 7 Apr 2011 09:08:42 +0100
Cc: xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Thu, 07 Apr 2011 01:09:52 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Organization: Citrix Systems, Inc.
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
I can't find this patch on any mailing list to respond to so starting a
new thread. In case I've not missed it but instead it really wasn't
posted -- in the future can we try and ensure that any patches have been
posted at least once. Same for the pull request, it should go to a list.

BTW the version in Konrad's tree is Stefano's 2.6.39-rc1-fixes branch
but Stefano's tree only has 2.6.39-rc2-fixes now -- is that important?

Anyway, the patch itself:

diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c
index 9c38bd1..f831568 100644
--- a/arch/x86/xen/setup.c
+++ b/arch/x86/xen/setup.c
@@ -229,7 +229,7 @@ char * __init xen_memory_setup(void)
 
        memcpy(map_raw, map, sizeof(map));
        e820.nr_map = 0;
-       xen_extra_mem_start = mem_end;
+       xen_extra_mem_start = mem_end < (1UL<<32) ? (1UL<<32) : mem_end;
        for (i = 0; i < memmap.nr_entries; i++) {
                unsigned long long end;

"(1UL<<32)" will overflow on a 32 bit kernel.

Oh hang on... that's the difference between the -rc1 and -rc2 versions
of Stefano's branches:

diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c
index f831568..ee44c56 100644
--- a/arch/x86/xen/setup.c
+++ b/arch/x86/xen/setup.c
@@ -229,7 +229,7 @@ char * __init xen_memory_setup(void)
 
        memcpy(map_raw, map, sizeof(map));
        e820.nr_map = 0;
-       xen_extra_mem_start = mem_end < (1UL<<32) ? (1UL<<32) : mem_end;
+       xen_extra_mem_start = max((1ULL <<32), mem_end);
        for (i = 0; i < memmap.nr_entries; i++) {
                unsigned long long end;

So I guess it was important!

(also the whitespace in "(1ULL <<32)" is a bit funky, checkpatch whinges
too)

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>