Re: 2.6.24-rc3-mm1 make headers_check fails

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Andrew Morton wrote:
On Wed, 21 Nov 2007 12:17:14 +0200 Avi Kivity <[email protected]> wrote:

Avi Kivity wrote:
The make headers_check fails,

 CHECK   include/linux/usb/gadgetfs.h
 CHECK   include/linux/usb/ch9.h
 CHECK   include/linux/usb/cdc.h
 CHECK   include/linux/usb/audio.h
 CHECK   include/linux/kvm.h
/root/kernels/linux-2.6.24-rc3/usr/include/linux/kvm.h requires asm/kvm.h, which does not exist in exported headers
hm, works for me, on i386 and x86_64.  What's different over there?
Hi Andrew,

It fails on the powerpc box, with allyesconfig option.

How do we fix this?  Export linux/kvm.h only on x86?  Seems ugly.
Is kvm x86 specific? Then move the .h file to asm-x86.
Otherwise no good idea...

kvm.h is x86 specific today, but will be s390, ppc, ia64, and x86 specific tomorrow.

What about having a asm-generic/kvm.h with a nice #error? would that suit?

headers_check continues to complain. Is the only recourse to add asm/kvm.h for all archs?


That would work.

Meanwhile my recourse is to drop the kvm tree ;)

Since you put it this way...

I committed the attached (sorry) patch to kvm.git. Rather than touching 2*($NARCH - 1) file, I changed include/linux/Kbuild to only export kvm.h if the arch actually supports it. Currently that's just x86.


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

>From a393444c97f6d7355a6d7d6d7aeb80f1e72472b1 Mon Sep 17 00:00:00 2001
From: Avi Kivity <[email protected]>
Date: Sun, 2 Dec 2007 10:50:06 +0200
Subject: [PATCH] KVM: Export include/linux/kvm.h only if $ARCH actually supports KVM

Currently, make headers_check barfs due to <asm/kvm.h>, which <linux/kvm.h>
includes, not existing.  Rather than add a zillion <asm/kvm.h>s, export kvm.h
only if the arch actually supports it.

Signed-off-by: Avi Kivity <[email protected]>
---
 arch/x86/Kconfig     |    3 +++
 drivers/kvm/Kconfig  |    4 ++--
 include/linux/Kbuild |    2 +-
 3 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 368864d..eded44e 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -112,6 +112,9 @@ config GENERIC_TIME_VSYSCALL
 	bool
 	default X86_64
 
+config ARCH_SUPPORTS_KVM
+	bool
+	default y
 
 
 
diff --git a/drivers/kvm/Kconfig b/drivers/kvm/Kconfig
index 6569206..4086080 100644
--- a/drivers/kvm/Kconfig
+++ b/drivers/kvm/Kconfig
@@ -3,7 +3,7 @@
 #
 menuconfig VIRTUALIZATION
 	bool "Virtualization"
-	depends on X86
+	depends on ARCH_SUPPORTS_KVM || X86
 	default y
 	---help---
 	  Say Y here to get to see options for using your Linux host to run other
@@ -16,7 +16,7 @@ if VIRTUALIZATION
 
 config KVM
 	tristate "Kernel-based Virtual Machine (KVM) support"
-	depends on X86 && EXPERIMENTAL
+	depends on ARCH_SUPPORTS_KVM && EXPERIMENTAL
 	select PREEMPT_NOTIFIERS
 	select ANON_INODES
 	---help---
diff --git a/include/linux/Kbuild b/include/linux/Kbuild
index 105c5d6..397197f 100644
--- a/include/linux/Kbuild
+++ b/include/linux/Kbuild
@@ -254,7 +254,7 @@ unifdef-y += kd.h
 unifdef-y += kernelcapi.h
 unifdef-y += kernel.h
 unifdef-y += keyboard.h
-unifdef-y += kvm.h
+unifdef-$(CONFIG_ARCH_SUPPORTS_KVM) += kvm.h
 unifdef-y += llc.h
 unifdef-y += loop.h
 unifdef-y += lp.h
-- 
1.5.3


[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux