Skip to content

Commit

Permalink
xen: ask the hypervisor how much space it needs reserved
Browse files Browse the repository at this point in the history
Ask the hypervisor how much space it needs reserved, since 32-on-64
doesn't need any space, and it may change in future.

Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com>
  • Loading branch information
Jeremy Fitzhardinge authored and Jeremy Fitzhardinge committed Oct 16, 2007
1 parent 7426071 commit fb1d840
Showing 1 changed file with 12 additions and 1 deletion.
13 changes: 12 additions & 1 deletion arch/x86/xen/enlighten.c
Original file line number Diff line number Diff line change
Expand Up @@ -1112,6 +1112,17 @@ static const struct machine_ops __initdata xen_machine_ops = {
};


static void __init xen_reserve_top(void)
{
unsigned long top = HYPERVISOR_VIRT_START;
struct xen_platform_parameters pp;

if (HYPERVISOR_xen_version(XENVER_platform_parameters, &pp) == 0)
top = pp.virt_start;

reserve_top_address(-top + 2 * PAGE_SIZE);
}

/* First C function to be called on Xen boot */
asmlinkage void __init xen_start_kernel(void)
{
Expand Down Expand Up @@ -1169,7 +1180,7 @@ asmlinkage void __init xen_start_kernel(void)
pv_info.kernel_rpl = 0;

/* set the limit of our address space */
reserve_top_address(-HYPERVISOR_VIRT_START + 2 * PAGE_SIZE);
xen_reserve_top();

/* set up basic CPUID stuff */
cpu_detect(&new_cpu_data);
Expand Down

0 comments on commit fb1d840

Please sign in to comment.