[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Crash on boot with 2.6.37-rc8-git3
On Tue, 2011-01-25 at 12:03 +0000, Stefano Stabellini wrote: > On Mon, 24 Jan 2011, M A Young wrote: > > On Mon, 24 Jan 2011, Konrad Rzeszutek Wilk wrote: > > > > > We can fix how the E820 is done. > > > Look in arch/x86/xen/setup.c for 'xen_memory_setup' function. > > > Try to wrap make map[i].size be = map[i].szie & ~(PAGE_SIZE-1) > > > that should trim off the last 2048 bytes. > > > > The attached patch works for me, though it does assume the memory region > > starts on a page boundary. > > It turns out that it is me having the same issue you have and not the > other way around :) > > Your patch (in addition to my previous patch) makes my testbox boot, no > matter what dom0_mem parameter I choose. > > Appended is a version of the patch that doesn't assume that the memory > region starts on a page boundary. > > --- > > diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c > index b5a7f92..a3d28a1 100644 > --- a/arch/x86/xen/setup.c > +++ b/arch/x86/xen/setup.c > @@ -179,7 +179,10 @@ char * __init xen_memory_setup(void) > e820.nr_map = 0; > xen_extra_mem_start = mem_end; > for (i = 0; i < memmap.nr_entries; i++) { > - unsigned long long end = map[i].addr + map[i].size; > + unsigned long long end; > + if (map[i].type == E820_RAM) > + map[i].size -= (map[i].size + map[i].addr) % PAGE_SIZE; The more normal idiom to round down to a page boundary in the kernel is: map[i].size &= ~(PAGE_SIZE-1); Do you also need to page align map[i].addr upwards for maximum safety? Ian. > + end = map[i].addr + map[i].size; > > if (map[i].type == E820_RAM && end > mem_end) { > /* RAM off the end - may be partially included */ > > _______________________________________________ > Xen-devel mailing list > Xen-devel@xxxxxxxxxxxxxxxxxxx > http://lists.xensource.com/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |