diff options
author | Boris Ostrovsky <boris.ostrovsky@oracle.com> | 2017-02-05 19:50:52 -0500 |
---|---|---|
committer | Boris Ostrovsky <boris.ostrovsky@oracle.com> | 2017-02-07 08:07:01 -0500 |
commit | 7243b93345f7f8de260e8f5b4670803e64fcbb00 (patch) | |
tree | c288ff735a3e39745b91a3870b2d956fcce5429b /include/xen | |
parent | cee2cfb7d18db1d7bcd0952b5e0e3f19c004023c (diff) |
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.h | 5 |
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 */ |