[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2] x86: debugging code for testing 16Tb support on smaller memory systems
At 14:26 +0000 on 23 Jan (1358951188), Jan Beulich wrote: > --- a/xen/arch/x86/setup.c > +++ b/xen/arch/x86/setup.c > @@ -82,6 +82,11 @@ boolean_param("noapic", skip_ioapic_setu > s8 __read_mostly xen_cpuidle = -1; > boolean_param("cpuidle", xen_cpuidle); > > +#ifndef NDEBUG > +unsigned long __initdata highmem_start; > +size_param("highmem-start", highmem_start); > +#endif > + > cpumask_t __read_mostly cpu_present_map; > > unsigned long __read_mostly xen_phys_start; > @@ -787,6 +792,14 @@ void __init __start_xen(unsigned long mb > modules_headroom = bzimage_headroom(bootstrap_map(mod), mod->mod_end); > bootstrap_map(NULL); > > +#ifndef highmem_start > + /* Don't allow split below 4Gb. */ > + if ( highmem_start < GB(4) ) > + highmem_start = 0; > + else /* align to L3 entry boundary */ > + highmem_start &= ~((1UL << L3_PAGETABLE_SHIFT) - 1); > +#endif DYM #ifndef NDEBUG ? I can see that checking for highmem_start being a macro is strictly correct but it seems more vulnerable to later changes, esp. since this: > --- a/xen/include/asm-x86/setup.h > +++ b/xen/include/asm-x86/setup.h > @@ -43,4 +43,10 @@ void microcode_grab_module( > > extern uint8_t kbd_shift_flags; > > +#ifdef NDEBUG > +# define highmem_start 0 > +#else > +extern unsigned long highmem_start; > +#endif happens so far away. Tim. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |