mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 10:11:27 +01:00
x86: only generate compat headers actually needed
As was already the case for XSM/Flask, avoid generating compat headers when they're not going to be needed. To address resulting build issues - move compat/hvm/dm_op.h inclusion to the only source file needing it, - add a little bit of #ifdef-ary. Signed-off-by: Jan Beulich <jbeulich@suse.com> Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
This commit is contained in:
1 parent
7dcf89d9ec
commit
2c8fabb223
4 files changed
+23
-14
No files matched your search
@@ -718,6 +718,8 @@ static int dm_op(const struct dmop_args *op_args)
|
||||
return rc;
|
||||
}
|
||||
|
||||
#include <compat/hvm/dm_op.h>
|
||||
|
||||
CHECK_dm_op_create_ioreq_server;
|
||||
CHECK_dm_op_get_ioreq_server_info;
|
||||
CHECK_dm_op_ioreq_server_range;
|
||||
|
||||
@@ -11,7 +11,6 @@ EMIT_FILE;
|
||||
#include <xen/guest_access.h>
|
||||
#include <xen/hypercall.h>
|
||||
#include <compat/vcpu.h>
|
||||
#include <compat/hvm/hvm_vcpu.h>
|
||||
|
||||
#define xen_vcpu_set_periodic_timer vcpu_set_periodic_timer
|
||||
CHECK_vcpu_set_periodic_timer;
|
||||
@@ -25,6 +24,10 @@ CHECK_SIZE_(struct, vcpu_info);
|
||||
CHECK_vcpu_register_vcpu_info;
|
||||
#undef xen_vcpu_register_vcpu_info
|
||||
|
||||
#ifdef CONFIG_HVM
|
||||
|
||||
#include <compat/hvm/hvm_vcpu.h>
|
||||
|
||||
#define xen_vcpu_hvm_context vcpu_hvm_context
|
||||
#define xen_vcpu_hvm_x86_32 vcpu_hvm_x86_32
|
||||
#define xen_vcpu_hvm_x86_64 vcpu_hvm_x86_64
|
||||
@@ -33,6 +36,8 @@ CHECK_vcpu_hvm_context;
|
||||
#undef xen_vcpu_hvm_x86_32
|
||||
#undef xen_vcpu_hvm_context
|
||||
|
||||
#endif
|
||||
|
||||
int compat_vcpu_op(int cmd, unsigned int vcpuid, XEN_GUEST_HANDLE_PARAM(void) arg)
|
||||
{
|
||||
struct domain *d = current->domain;
|
||||
@@ -49,6 +54,7 @@ int compat_vcpu_op(int cmd, unsigned int vcpuid, XEN_GUEST_HANDLE_PARAM(void) ar
|
||||
if ( v->vcpu_info == &dummy_vcpu_info )
|
||||
return -EINVAL;
|
||||
|
||||
#ifdef CONFIG_HVM
|
||||
if ( is_hvm_vcpu(v) )
|
||||
{
|
||||
struct vcpu_hvm_context ctxt;
|
||||
@@ -61,6 +67,7 @@ int compat_vcpu_op(int cmd, unsigned int vcpuid, XEN_GUEST_HANDLE_PARAM(void) ar
|
||||
domain_unlock(d);
|
||||
}
|
||||
else
|
||||
#endif
|
||||
{
|
||||
struct compat_vcpu_guest_context *ctxt;
|
||||
|
||||
|
||||
+13
-11
@@ -3,32 +3,34 @@ ifneq ($(CONFIG_COMPAT),)
|
||||
compat-arch-$(CONFIG_X86) := x86_32
|
||||
|
||||
headers-y := \
|
||||
compat/argo.h \
|
||||
compat/callback.h \
|
||||
compat/arch-$(compat-arch-y).h \
|
||||
compat/elfnote.h \
|
||||
compat/event_channel.h \
|
||||
compat/features.h \
|
||||
compat/grant_table.h \
|
||||
compat/hypfs.h \
|
||||
compat/kexec.h \
|
||||
compat/memory.h \
|
||||
compat/nmi.h \
|
||||
compat/physdev.h \
|
||||
compat/platform.h \
|
||||
compat/pmu.h \
|
||||
compat/sched.h \
|
||||
compat/trace.h \
|
||||
compat/vcpu.h \
|
||||
compat/version.h \
|
||||
compat/xen.h \
|
||||
compat/xenoprof.h
|
||||
compat/xlat.h
|
||||
headers-$(CONFIG_X86) += compat/arch-x86/pmu.h
|
||||
headers-$(CONFIG_X86) += compat/arch-x86/xen-mca.h
|
||||
headers-$(CONFIG_X86) += compat/arch-x86/xen.h
|
||||
headers-$(CONFIG_X86) += compat/arch-x86/xen-$(compat-arch-y).h
|
||||
headers-$(CONFIG_X86) += compat/hvm/dm_op.h
|
||||
headers-$(CONFIG_X86) += compat/hvm/hvm_op.h
|
||||
headers-$(CONFIG_X86) += compat/hvm/hvm_vcpu.h
|
||||
headers-y += compat/arch-$(compat-arch-y).h compat/pmu.h compat/xlat.h
|
||||
headers-$(CONFIG_ARGO) += compat/argo.h
|
||||
headers-$(CONFIG_PV) += compat/callback.h
|
||||
headers-$(CONFIG_GRANT_TABLE) += compat/grant_table.h
|
||||
headers-$(CONFIG_HVM) += compat/hvm/dm_op.h
|
||||
headers-$(CONFIG_HVM) += compat/hvm/hvm_op.h
|
||||
headers-$(CONFIG_HVM) += compat/hvm/hvm_vcpu.h
|
||||
headers-$(CONFIG_HYPFS) += compat/hypfs.h
|
||||
headers-$(CONFIG_KEXEC) += compat/kexec.h
|
||||
headers-$(CONFIG_TRACEBUFFER) += compat/trace.h
|
||||
headers-$(CONFIG_XENOPROF) += compat/xenoprof.h
|
||||
headers-$(CONFIG_XSM_FLASK) += compat/xsm/flask_op.h
|
||||
|
||||
cppflags-y := -include public/xen-compat.h -DXEN_GENERATING_COMPAT_HEADERS
|
||||
|
||||
@@ -216,8 +216,6 @@ extern long compat_argo_op(
|
||||
unsigned long arg4);
|
||||
#endif
|
||||
|
||||
#include <compat/hvm/dm_op.h>
|
||||
|
||||
extern int
|
||||
compat_dm_op(
|
||||
domid_t domid,
|
||||
|
||||