|
[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 |