lkml.org 
[lkml]   [2008]   [Jul]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Subject[PATCH 17 of 55] xen64: random ifdefs to mask out 32-bit only code
Date
From
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
---
arch/x86/xen/enlighten.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)

diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -1296,6 +1296,7 @@

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

@@ -1303,6 +1304,7 @@
top = pp.virt_start;

reserve_top_address(-top + 2 * PAGE_SIZE);
+#endif /* CONFIG_X86_32 */
}

/* First C function to be called on Xen boot */
@@ -1333,6 +1335,11 @@

machine_ops = xen_machine_ops;

+#ifdef CONFIG_X86_64
+ /* Disable until direct per-cpu data access. */
+ have_vcpu_info_placement = 0;
+#endif
+
#ifdef CONFIG_SMP
smp_ops = xen_smp_ops;
#endif
@@ -1343,9 +1350,11 @@

pgd = (pgd_t *)xen_start_info->pt_base;

+#ifdef CONFIG_X86_32
init_pg_tables_start = __pa(pgd);
init_pg_tables_end = __pa(pgd) + xen_start_info->nr_pt_frames*PAGE_SIZE;
max_pfn_mapped = (init_pg_tables_end + 512*1024) >> PAGE_SHIFT;
+#endif

init_mm.pgd = pgd; /* use the Xen pagetables to start */

@@ -1372,7 +1381,9 @@

/* set up basic CPUID stuff */
cpu_detect(&new_cpu_data);
+#ifdef CONFIG_X86_32
new_cpu_data.hard_math = 1;
+#endif
new_cpu_data.x86_capability[0] = cpuid_edx(1);

/* Poke various useful things into boot_params */
@@ -1388,5 +1399,9 @@
}

/* Start the world */
+#ifdef CONFIG_X86_32
i386_start_kernel();
+#else
+ x86_64_start_kernel((char *)&boot_params);
+#endif
}



\
 
 \ /
  Last update: 2008-07-09 01:23    [W:0.173 / U:6.804 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site