Re: [RFC] use realmode code to reserve end-of-conventional-memoryto 1MB

From: Eduardo Habkost
Date: Wed Mar 05 2008 - 11:56:53 EST


On Wed, Mar 05, 2008 at 08:08:01AM -0800, H. Peter Anvin wrote:
> Eduardo Habkost wrote:
> >>
> >>diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c
> >>index 3bad477..2341492 100644
> >>--- a/arch/x86/xen/setup.c
> >>+++ b/arch/x86/xen/setup.c
> >>@@ -38,7 +38,8 @@ char * __init xen_memory_setup(void)
> >> unsigned long max_pfn = xen_start_info->nr_pages;
> >>
> >> e820.nr_map = 0;
> >>- add_memory_region(0, PFN_PHYS(max_pfn), E820_RAM);
> >>+ add_memory_region(0, LOWMEMSIZE(), E820_RAM);
> >>+ add_memory_region(HIGH_MEMORY, PFN_PHYS(max_pfn)-HIGH_MEMORY,
> >>E820_RAM);
> >
> >Won't this waste 300+ KB of Perfectly Good RAM? Or I understood it
> >incorrectly?
> >
> >I am aware that it would take more work to tell all kernel code that it
> >shouldn't look for BIOS data on this region when running as a domU guest,
> >but it seems that it would be a better solution.
> >
>
> No, the right thing is for Xen to not try to map RAM in this area.

Why? If the Xen host is telling us there is valid RAM in this area,
why can't we use it?

Existing Xen hosts use those physical address ranges for RAM. We can't
fix this on the e820 map on the guest side without making otherwise-valid
RAM unused.

--
Eduardo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/