summaryrefslogtreecommitdiff
path: root/include/xen
diff options
context:
space:
mode:
authorBoris Ostrovsky <boris.ostrovsky@oracle.com>2017-02-06 03:50:52 +0300
committerBoris Ostrovsky <boris.ostrovsky@oracle.com>2017-02-07 16:07:01 +0300
commit7243b93345f7f8de260e8f5b4670803e64fcbb00 (patch)
treec288ff735a3e39745b91a3870b2d956fcce5429b /include/xen
parentcee2cfb7d18db1d7bcd0952b5e0e3f19c004023c (diff)
downloadlinux-7243b93345f7f8de260e8f5b4670803e64fcbb00.tar.xz
xen/pvh: Bootstrap PVH guest
Start PVH guest at XEN_ELFNOTE_PHYS32_ENTRY address. Setup hypercall page, initialize boot_params, enable early page tables. Since this stub is executed before kernel entry point we cannot use variables in .bss which is cleared by kernel. We explicitly place variables that are initialized here into .data. While adjusting xen_hvm_init_shared_info() make it use cpuid_e?x() instead of cpuid() (wherever possible). Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com> Reviewed-by: Juergen Gross <jgross@suse.com>
Diffstat (limited to 'include/xen')
-rw-r--r--include/xen/xen.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/xen/xen.h b/include/xen/xen.h
index d0f96840f71f..6e8b7fc79801 100644
--- a/include/xen/xen.h
+++ b/include/xen/xen.h
@@ -29,6 +29,11 @@ extern enum xen_domain_type xen_domain_type;
#define xen_initial_domain() (0)
#endif /* CONFIG_XEN_DOM0 */
+#ifdef CONFIG_XEN_PVH
+extern bool xen_pvh;
+#define xen_pvh_domain() (xen_hvm_domain() && xen_pvh)
+#else
#define xen_pvh_domain() (0)
+#endif
#endif /* _XEN_XEN_H */