aboutsummaryrefslogtreecommitdiff
path: root/sys/xen/xen-os.h
diff options
context:
space:
mode:
authorRoger Pau Monné <royger@FreeBSD.org>2014-03-11 10:07:01 +0000
committerRoger Pau Monné <royger@FreeBSD.org>2014-03-11 10:07:01 +0000
commit1a9cdd373a6a40539668898b8b32d5cb16103149 (patch)
tree6272bb4211bd811ce759def6aa759b755cd86415 /sys/xen/xen-os.h
parente8da1c4877388cd5c76e9815d9edb27b7f9cd443 (diff)
downloadsrc-1a9cdd373a6a40539668898b8b32d5cb16103149.tar.gz
src-1a9cdd373a6a40539668898b8b32d5cb16103149.zip
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.
Notes
Notes: svn path=/head/; revision=263002
Diffstat (limited to 'sys/xen/xen-os.h')
-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 87644e978e10..c7474d80da74 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 */