[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
>>> On 24.01.13 at 12:36, Tim Deegan <tim@xxxxxxx> wrote: > 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 I intended it to be that way, because there could be other uses for having the symbol #define-d/real. > 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. I realize that, but these getting out of sync is no problem the way it is coded now. The distance of the two would really be more of a problem imo if the condition here got changed (which would then require to also change it up there). Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |