From: Sheng Yang on
xen_guest_init() would setup the environment.

Signed-off-by: Sheng Yang <sheng(a)linux.intel.com>
---
arch/x86/include/asm/xen/hypervisor.h | 6 ++++++
arch/x86/kernel/setup.c | 4 ++++
2 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/arch/x86/include/asm/xen/hypervisor.h b/arch/x86/include/asm/xen/hypervisor.h
index 7569f64..f7d61a5 100644
--- a/arch/x86/include/asm/xen/hypervisor.h
+++ b/arch/x86/include/asm/xen/hypervisor.h
@@ -76,4 +76,10 @@ extern u32 xen_hvm_pv_features;
#define xen_initial_domain() (0)
#endif /* CONFIG_XEN_DOM0 */

+#ifdef CONFIG_XEN_HVM_PV
+void xen_guest_init(void);
+#else
+static inline void xen_guest_init(void) {};
+#endif
+
#endif /* _ASM_X86_XEN_HYPERVISOR_H */
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index 2a34f9c..9bfb8ce 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -110,6 +110,8 @@
#include <asm/numa_64.h>
#endif

+#include <asm/xen/hypervisor.h>
+
/*
* end_pfn only includes RAM, while max_pfn_mapped includes all e820 entries.
* The direct mapping extends to max_pfn_mapped, so that we can directly access
@@ -753,6 +755,8 @@ void __init setup_arch(char **cmdline_p)

x86_init.oem.arch_setup();

+ xen_guest_init();
+
setup_memory_map();
parse_setup_data();
/* update the e820_saved too */
--
1.7.0.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/