diff options
author | royger <royger@FreeBSD.org> | 2014-03-11 10:24:13 +0000 |
---|---|---|
committer | royger <royger@FreeBSD.org> | 2014-03-11 10:24:13 +0000 |
commit | 6b1be122340e08f3cd907273f419d173138cf66e (patch) | |
tree | 321190d6e7f2a3801f2989218ddc460bf9a4c1f9 /sys/i386/include/xen | |
parent | 891131cb52c5aa334778f1f5cb0ac125c88c32cb (diff) | |
download | FreeBSD-src-6b1be122340e08f3cd907273f419d173138cf66e.zip FreeBSD-src-6b1be122340e08f3cd907273f419d173138cf66e.tar.gz |
xen: use the same hypercall mechanism for XEN and XENHVM
Currently XEN (PV) and XENHVM (PVHVM) ports use different ways to
issue hypercalls, unify this by filling the hypercall_page under HVM
also.
Approved by: gibbs
Sponsored by: Citrix Systems R&D
amd64/include/xen/hypercall.h:
- Unify Xen hypercall code by always using the PV way.
i386/i386/locore.s:
- Define hypercall_page on i386 XENHVM.
x86/xen/hvm.c:
- Fill hypercall_page on XENHVM kernels using the HVM method (only
when running as an HVM guest).
Diffstat (limited to 'sys/i386/include/xen')
-rw-r--r-- | sys/i386/include/xen/hypercall.h | 8 |
1 files changed, 0 insertions, 8 deletions
diff --git a/sys/i386/include/xen/hypercall.h b/sys/i386/include/xen/hypercall.h index edc13f4..16b5ee2 100644 --- a/sys/i386/include/xen/hypercall.h +++ b/sys/i386/include/xen/hypercall.h @@ -39,16 +39,8 @@ #define ENOXENSYS 38 #define CONFIG_XEN_COMPAT 0x030002 - -#if defined(XEN) #define HYPERCALL_STR(name) \ "call hypercall_page + ("STR(__HYPERVISOR_##name)" * 32)" -#else -#define HYPERCALL_STR(name) \ - "mov hypercall_stubs,%%eax; " \ - "add $("STR(__HYPERVISOR_##name)" * 32),%%eax; " \ - "call *%%eax" -#endif #define _hypercall0(type, name) \ ({ \ |