Daniel Kiper
2011-May-11 20:34 UTC
[Xen-devel] [PATCH] arch/x86/xen/setup: Fix for incorrect xen_extra_mem_start initialization ifdef CONFIG_X86_32
git commit 24bdb0b62cc82120924762ae6bc85afc8c3f2b26 (xen: do not create
the extra e820 region at an addr lower than 4G) does not take into
account that ifdef CONFIG_X86_32 instead of e820_end_of_low_ram_pfn()
find_low_pfn_range() is called (both calls are from arch/x86/kernel/setup.c).
find_low_pfn_range() behaves correctly and does not require change in
xen_extra_mem_start initialization. Additionally, if xen_extra_mem_start
is initialized in the same way as ifdef CONFIG_X86_64 then memory hotplug
support for Xen balloon driver (under development) is broken.
Signed-off-by: Daniel Kiper <dkiper@net-space.pl>
---
arch/x86/xen/setup.c | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c
index 90bac0a..721f576 100644
--- a/arch/x86/xen/setup.c
+++ b/arch/x86/xen/setup.c
@@ -227,7 +227,11 @@ char * __init xen_memory_setup(void)
memcpy(map_raw, map, sizeof(map));
e820.nr_map = 0;
+#ifdef CONFIG_X86_32
+ xen_extra_mem_start = mem_end;
+#else
xen_extra_mem_start = max((1ULL << 32), mem_end);
+#endif
for (i = 0; i < memmap.nr_entries; i++) {
unsigned long long end;
--
1.5.6.5
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
Konrad Rzeszutek Wilk
2011-May-12 18:58 UTC
Re: [Xen-devel] [PATCH] arch/x86/xen/setup: Fix for incorrect xen_extra_mem_start initialization ifdef CONFIG_X86_32
On Wed, May 11, 2011 at 10:34:38PM +0200, Daniel Kiper wrote:> git commit 24bdb0b62cc82120924762ae6bc85afc8c3f2b26 (xen: do not create > the extra e820 region at an addr lower than 4G) does not take into > account that ifdef CONFIG_X86_32 instead of e820_end_of_low_ram_pfn() > find_low_pfn_range() is called (both calls are from arch/x86/kernel/setup.c). > find_low_pfn_range() behaves correctly and does not require change in > xen_extra_mem_start initialization. Additionally, if xen_extra_mem_start > is initialized in the same way as ifdef CONFIG_X86_64 then memory hotplug > support for Xen balloon driver (under development) is broken.in linux-next. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Daniel Kiper
2011-May-16 07:46 UTC
Re: [Xen-devel] [PATCH] arch/x86/xen/setup: Fix for incorrect xen_extra_mem_start initialization ifdef CONFIG_X86_32
On Thu, May 12, 2011 at 02:58:08PM -0400, Konrad Rzeszutek Wilk wrote:> On Wed, May 11, 2011 at 10:34:38PM +0200, Daniel Kiper wrote: > > git commit 24bdb0b62cc82120924762ae6bc85afc8c3f2b26 (xen: do not create > > the extra e820 region at an addr lower than 4G) does not take into > > account that ifdef CONFIG_X86_32 instead of e820_end_of_low_ram_pfn() > > find_low_pfn_range() is called (both calls are from arch/x86/kernel/setup.c). > > find_low_pfn_range() behaves correctly and does not require change in > > xen_extra_mem_start initialization. Additionally, if xen_extra_mem_start > > is initialized in the same way as ifdef CONFIG_X86_64 then memory hotplug > > support for Xen balloon driver (under development) is broken. > > in linux-next.Thanks. Additionally, I would like to mention that git commit 279b706bf800b5967037f492dbe4fc5081ad5d0f (x86,xen: introduce x86_init.mapping.pagetable_reserve) which fixes bug introduced by git commit 4b239f458c229de044d6905c2b0f9fe16ed9e01e (x86-64, mm: Put early page table high) works on my machine. Daniel _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel