Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fb1d8404 authored by Jeremy Fitzhardinge's avatar Jeremy Fitzhardinge Committed by Jeremy Fitzhardinge
Browse files

xen: ask the hypervisor how much space it needs reserved



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: default avatarJeremy Fitzhardinge <jeremy@xensource.com>
parent 74260714
Loading
Loading
Loading
Loading
+12 −1
Original line number Diff line number Diff line
@@ -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)
{
@@ -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);