Re: [GIT PULL -tip v3] fix 39 'make headers_check' warnings

From: Avi Kivity
Date: Mon Jan 19 2009 - 04:21:17 EST


Ingo Molnar wrote:
(Avi Cc:-ed)

* Jaswinder Singh Rajput <jaswinder@xxxxxxxxxx> wrote:

headers_check fix: linux/kvm.h

diff --git a/include/linux/kvm.h b/include/linux/kvm.h
index 5715f19..5d004bc 100644
--- a/include/linux/kvm.h
+++ b/include/linux/kvm.h
@@ -58,12 +58,14 @@ struct kvm_irqchip {
__u32 pad;
union {
char dummy[512]; /* reserving space */
+#ifdef __KERNEL__
#ifdef CONFIG_X86
struct kvm_pic_state pic;
#endif
#if defined(CONFIG_X86) || defined(CONFIG_IA64)
struct kvm_ioapic_state ioapic;
#endif
+#endif /* __KERNEL__ */
} chip;
};

Avi, does user-space need the kvm_irqchip definition from this header? If not then it would be cleaner to mark this whole structure as #ifdef __KERNEL__.


It does. This patch will break userspace.

Doesn't 'make headers_install' unifder the CONFIG_ stuff?

@@ -384,18 +386,24 @@ struct kvm_trace_rec {
#define KVM_CAP_MP_STATE 14
#define KVM_CAP_COALESCED_MMIO 15
#define KVM_CAP_SYNC_MMU 16 /* Changes to host mmap are reflected in guest */
+#ifdef __KERNEL__
#if defined(CONFIG_X86)||defined(CONFIG_IA64)
#define KVM_CAP_DEVICE_ASSIGNMENT 17
#endif
+#endif /* __KERNEL__ */
#define KVM_CAP_IOMMU 18
+#ifdef __KERNEL__
#if defined(CONFIG_X86)
#define KVM_CAP_DEVICE_MSI 20
#endif
+#endif /* __KERNEL__ */
/* Bug in KVM_SET_USER_MEMORY_REGION fixed: */
#define KVM_CAP_DESTROY_MEMORY_REGION_WORKS 21
+#ifdef __KERNEL__
#if defined(CONFIG_X86)
#define KVM_CAP_USER_NMI 22
#endif
+#endif /* __KERNEL__ */

likewise, are these bits really used by user-space KVM bits? If not then the whole thing could go into an #ifdef __KERNEL__ block.

They are. This bits advertise to userspace what features kvm supports, both compile- and run-time.

--
error compiling committee.c: too many arguments to function

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/