[PATCH][v8 5/7] x86/xen: The entrance for PV extension of HVM

Sheng Yang
2010-03-11T06:26:59Z

xen_guest_init() would setup the environment.

Signed-off-by: Sheng Yang <sheng@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 396ff4c..13e089a 100644
--- a/arch/x86/include/asm/xen/hypervisor.h
+++ b/arch/x86/include/asm/xen/hypervisor.h
@@ -37,4 +37,10 @@
extern struct shared_info *HYPERVISOR_shared_info;
extern struct start_info *xen_start_info;

+#ifdef CONFIG_XEN_HVM_PV
+void __init 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 5d9e40c..1cc4786 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -113,6 +113,8 @@
#endif
#include <asm/mce.h>

+#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
@@ -740,6 +742,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