summaryrefslogtreecommitdiffstats
path: root/sys/xen
diff options
context:
space:
mode:
authorroyger <royger@FreeBSD.org>2014-03-11 10:07:01 +0000
committerroyger <royger@FreeBSD.org>2014-03-11 10:07:01 +0000
commit5dd05db7ff9533415fbe0d4aedbadb5b115d9509 (patch)
tree6272bb4211bd811ce759def6aa759b755cd86415 /sys/xen
parent27026f4f2afc8cf9ffb8d965b2b70a91fd318239 (diff)
downloadFreeBSD-src-5dd05db7ff9533415fbe0d4aedbadb5b115d9509.zip
FreeBSD-src-5dd05db7ff9533415fbe0d4aedbadb5b115d9509.tar.gz
xen: add PV/PVH kernel entry point
Add the PV/PVH entry point and the low level functions for PVH early initialization. Approved by: gibbs Sponsored by: Citrix Systems R&D amd64/amd64/genassym.c: - Add __FreeBSD_version define to assym.s so it can be used for the Xen notes. amd64/amd64/locore.S: - Make bootstack global so it can be used from Xen kernel entry point. amd64/amd64/xen-locore.S: - Add Xen notes to the kernel. - Add the Xen PV entry point, that is going to call hammer_time_xen. amd64/include/asmacros.h: - Add ELFNOTE macros. i386/xen/xen_machdep.c: - Define HYPERVISOR_start_info for the XEN i386 PV port, which is going to be used in some shared code between PV and PVH. x86/xen/hvm.c: - Define HYPERVISOR_start_info for the PVH port. x86/xen/pv.c: - Introduce hammer_time_xen which is going to perform early setup for Xen PVH: - Setup shared Xen variables start_info, shared_info and xen_store. - Set guest type. - Create initial page tables as FreeBSD expects to find them. - Call into native init function (hammer_time). xen/xen-os.h: - Declare HYPERVISOR_start_info. conf/files.amd64: - Add amd64/amd64/locore.S and x86/xen/pv.c to the list of files.
Diffstat (limited to 'sys/xen')
-rw-r--r--sys/xen/xen-os.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/xen/xen-os.h b/sys/xen/xen-os.h
index 87644e9..c7474d8 100644
--- a/sys/xen/xen-os.h
+++ b/sys/xen/xen-os.h
@@ -51,6 +51,10 @@
void force_evtchn_callback(void);
extern shared_info_t *HYPERVISOR_shared_info;
+extern start_info_t *HYPERVISOR_start_info;
+
+/* XXX: we need to get rid of this and use HYPERVISOR_start_info directly */
+extern struct xenstore_domain_interface *xen_store;
enum xen_domain_type {
XEN_NATIVE, /* running on bare hardware */
OpenPOWER on IntegriCloud