2008-03-07 12:26:23

by Christian Borntraeger

[permalink] [raw]
Subject: headersinstall of kvm.h does not work

Hello Avi,

in commit fb56dbb31c4738a3918db81fd24da732ce3b4ae6 you changed
include/linux/Kbuild:
----snip----
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.
[...]
unifdef-y += keyboard.h
-unifdef-y += kvm.h
+unifdef-$(CONFIG_HAVE_KVM) += kvm.h
unifdef-y += llc.h
unifdef-y += loop.h
----snip------

This patch does not work. Kbuild (scripts/Makefile.headersinst) does not
check the config file, so kvm.h is never installed.

Sam is there an easy way to allow constructs like "unifdef-$(CONFIG_FOO)"?

Thanks

Christian


2008-03-07 13:00:42

by Avi Kivity

[permalink] [raw]
Subject: Re: headersinstall of kvm.h does not work

Christian Borntraeger wrote:
> Hello Avi,
>
> in commit fb56dbb31c4738a3918db81fd24da732ce3b4ae6 you changed
> include/linux/Kbuild:
> ----snip----
> 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.
> [...]
> unifdef-y += keyboard.h
> -unifdef-y += kvm.h
> +unifdef-$(CONFIG_HAVE_KVM) += kvm.h
> unifdef-y += llc.h
> unifdef-y += loop.h
> ----snip------
>
> This patch does not work. Kbuild (scripts/Makefile.headersinst) does not
> check the config file, so kvm.h is never installed.
>
> Sam is there an easy way to allow constructs like "unifdef-$(CONFIG_FOO)"?
>

I think this cleverness has caused too much trouble already, and adding
asm-*/kvm.h would have been better.

As I'm about to disappear for a week, consider a patch to remove the
config dependency and add asm-*/kvm.h pre-acked for mainline. Maybe the
presence of those empty asm-*/kvm.h files will encourage further kvm
ports to *.

--
Any sufficiently difficult bug is indistinguishable from a feature.

2008-03-07 13:57:33

by Christian Borntraeger

[permalink] [raw]
Subject: Re: headersinstall of kvm.h does not work

Am Freitag, 7. M?rz 2008 schrieb Avi Kivity:
> As I'm about to disappear for a week, consider a patch to remove the
> config dependency and add asm-*/kvm.h pre-acked for mainline. Maybe the
> presence of those empty asm-*/kvm.h files will encourage further kvm
> ports to *.

Something like the following for all architectures?

--- linux-2.6.orig/include/asm-alpha/Kbuild
+++ linux-2.6/include/asm-alpha/Kbuild
@@ -1,6 +1,7 @@
include include/asm-generic/Kbuild.asm

header-y += gentrap.h
+header-y += kvm.h
header-y += regdef.h
header-y += pal.h
header-y += reg.h
Index: linux-2.6/include/asm-alpha/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6/include/asm-alpha/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_ALPHA_H
+#define __LINUX_KVM_ALPHA_H
+
+/* alpha does not support KVM */
+
+#endif

2008-03-07 16:11:21

by Avi Kivity

[permalink] [raw]
Subject: Re: headersinstall of kvm.h does not work

Christian Borntraeger wrote:
> Am Freitag, 7. M?rz 2008 schrieb Avi Kivity:
>
>> As I'm about to disappear for a week, consider a patch to remove the
>> config dependency and add asm-*/kvm.h pre-acked for mainline. Maybe the
>> presence of those empty asm-*/kvm.h files will encourage further kvm
>> ports to *.
>>
>
> Something like the following for all architectures?
>
>

Yes.

--
Any sufficiently difficult bug is indistinguishable from a feature.

2008-03-07 23:44:35

by David Woodhouse

[permalink] [raw]
Subject: Re: headersinstall of kvm.h does not work


On Fri, 2008-03-07 at 13:26 +0100, Christian Borntraeger wrote:
> +unifdef-$(CONFIG_HAVE_KVM) += kvm.h
> unifdef-y += llc.h
> unifdef-y += loop.h
> ----snip------
>
> This patch does not work. Kbuild (scripts/Makefile.headersinst) does
> not check the config file, so kvm.h is never installed.
>
> Sam is there an easy way to allow constructs like
> "unifdef-$(CONFIG_FOO)"?

That might be justifiable for HAVE_xxx which is a constant for any given
architecture -- but I predict that soon as we add such a facility, it
would get abused for stuff which really _is_ configurable. And that
would make me sad.

--
dwmw2

2008-03-10 08:13:59

by Christian Borntraeger

[permalink] [raw]
Subject: [PATCH] kvm: provide kvm.h for all architecture: fixes headers_install

Andrew,

Avi is away, can you apply this patch for 2.6.25?


[PATCH] kvm: provide kvm.h for all architecture: fixes headers_install

Currently include/linux/kvm.h is not considered by make headers_install,
because Kbuild cannot handle " unifdef-$(CONFIG_FOO) += foo.h.
This problem was introduced by 040922c04cf2c8ac70be2e88a8a9614ecdb41d2e,
which makes this an 2.6.25 regression.

One way of solving the issue is to enhance Kbuild, but Avi and David
conviced me, that changing headers_install is not the way to go. This patch
changes the definition for linux/kvm.h to unifdef-y.

If unifdef-y is used for linux/kvm.h "make headers_check" will fail on all
architectures without asm/kvm.h. Therefore, this patch also provides
asm/kvm.h on all architectures.


Signed-off-by: Christian Borntraeger <[email protected]>
Acked-by: Avi Kivity <[email protected]>
CCed: Sam Ravnborg <[email protected]
CCed: David Woodhouse <[email protected]>
---
include/asm-alpha/Kbuild | 1 +
include/asm-alpha/kvm.h | 6 ++++++
include/asm-arm/Kbuild | 2 ++
include/asm-arm/kvm.h | 6 ++++++
include/asm-avr32/Kbuild | 1 +
include/asm-avr32/kvm.h | 6 ++++++
include/asm-blackfin/Kbuild | 1 +
include/asm-blackfin/kvm.h | 6 ++++++
include/asm-cris/Kbuild | 1 +
include/asm-cris/kvm.h | 6 ++++++
include/asm-frv/Kbuild | 1 +
include/asm-frv/kvm.h | 6 ++++++
include/asm-h8300/Kbuild | 2 ++
include/asm-h8300/kvm.h | 6 ++++++
include/asm-ia64/Kbuild | 1 +
include/asm-ia64/kvm.h | 6 ++++++
include/asm-m32r/Kbuild | 2 ++
include/asm-m32r/kvm.h | 6 ++++++
include/asm-m68k/Kbuild | 1 +
include/asm-m68k/kvm.h | 6 ++++++
include/asm-m68knommu/Kbuild | 2 ++
include/asm-m68knommu/kvm.h | 7 +++++++
include/asm-mips/Kbuild | 2 +-
include/asm-mips/kvm.h | 6 ++++++
include/asm-mn10300/Kbuild | 2 ++
include/asm-mn10300/kvm.h | 6 ++++++
include/asm-parisc/Kbuild | 2 ++
include/asm-parisc/kvm.h | 6 ++++++
include/asm-powerpc/Kbuild | 1 +
include/asm-powerpc/kvm.h | 6 ++++++
include/asm-s390/Kbuild | 1 +
include/asm-s390/kvm.h | 6 ++++++
include/asm-sh/Kbuild | 1 +
include/asm-sh/kvm.h | 6 ++++++
include/asm-sparc/Kbuild | 1 +
include/asm-sparc/kvm.h | 6 ++++++
include/asm-sparc64/Kbuild | 1 +
include/asm-sparc64/kvm.h | 6 ++++++
include/asm-v850/Kbuild | 2 ++
include/asm-v850/kvm.h | 6 ++++++
include/asm-xtensa/Kbuild | 2 ++
include/asm-xtensa/kvm.h | 6 ++++++
include/linux/Kbuild | 2 +-
43 files changed, 157 insertions(+), 2 deletions(-)

Index: linux-2.6/include/asm-alpha/Kbuild
===================================================================
--- linux-2.6.orig/include/asm-alpha/Kbuild
+++ linux-2.6/include/asm-alpha/Kbuild
@@ -1,6 +1,7 @@
include include/asm-generic/Kbuild.asm

header-y += gentrap.h
+header-y += kvm.h
header-y += regdef.h
header-y += pal.h
header-y += reg.h
Index: linux-2.6/include/asm-alpha/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6/include/asm-alpha/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_ALPHA_H
+#define __LINUX_KVM_ALPHA_H
+
+/* alpha does not support KVM */
+
+#endif
Index: linux-2.6/include/asm-arm/Kbuild
===================================================================
--- linux-2.6.orig/include/asm-arm/Kbuild
+++ linux-2.6/include/asm-arm/Kbuild
@@ -1,3 +1,5 @@
include include/asm-generic/Kbuild.asm

+header-y += kvm.h
+
unifdef-y += hwcap.h
Index: linux-2.6/include/asm-arm/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6/include/asm-arm/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_ARM_H
+#define __LINUX_KVM_ARM_H
+
+/* arm does not support KVM */
+
+#endif
Index: linux-2.6/include/asm-avr32/Kbuild
===================================================================
--- linux-2.6.orig/include/asm-avr32/Kbuild
+++ linux-2.6/include/asm-avr32/Kbuild
@@ -1,3 +1,4 @@
include include/asm-generic/Kbuild.asm

header-y += cachectl.h
+header-y += kvm.h
Index: linux-2.6/include/asm-avr32/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6/include/asm-avr32/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_AVR32_H
+#define __LINUX_KVM_AVR32_H
+
+/* avr32 does not support KVM */
+
+#endif
Index: linux-2.6/include/asm-blackfin/Kbuild
===================================================================
--- linux-2.6.orig/include/asm-blackfin/Kbuild
+++ linux-2.6/include/asm-blackfin/Kbuild
@@ -1,3 +1,4 @@
include include/asm-generic/Kbuild.asm

header-y += fixed_code.h
+header-y += kvm.h
Index: linux-2.6/include/asm-blackfin/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6/include/asm-blackfin/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_BLACKFIN_H
+#define __LINUX_KVM_BLACKFIN_H
+
+/* blackfin does not support KVM */
+
+#endif
Index: linux-2.6/include/asm-cris/Kbuild
===================================================================
--- linux-2.6.orig/include/asm-cris/Kbuild
+++ linux-2.6/include/asm-cris/Kbuild
@@ -4,6 +4,7 @@ header-$(CONFIG_ETRAX_ARCH_V10) += arch-
header-$(CONFIG_ETRAX_ARCH_V32) += arch-v32/

header-y += ethernet.h
+header-y += kvm.h
header-y += rtc.h
header-y += sync_serial.h

Index: linux-2.6/include/asm-cris/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6/include/asm-cris/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_CRIS_H
+#define __LINUX_KVM_CRIS_H
+
+/* cris does not support KVM */
+
+#endif
Index: linux-2.6/include/asm-frv/Kbuild
===================================================================
--- linux-2.6.orig/include/asm-frv/Kbuild
+++ linux-2.6/include/asm-frv/Kbuild
@@ -1,5 +1,6 @@
include include/asm-generic/Kbuild.asm

+header-y += kvm.h
header-y += registers.h

unifdef-y += termios.h
Index: linux-2.6/include/asm-frv/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6/include/asm-frv/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_FRV_H
+#define __LINUX_KVM_FRV_H
+
+/* cris does not support KVM */
+
+#endif
Index: linux-2.6/include/asm-h8300/Kbuild
===================================================================
--- linux-2.6.orig/include/asm-h8300/Kbuild
+++ linux-2.6/include/asm-h8300/Kbuild
@@ -1 +1,3 @@
include include/asm-generic/Kbuild.asm
+
+header-y += kvm.h
Index: linux-2.6/include/asm-h8300/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6/include/asm-h8300/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_H8300_H
+#define __LINUX_KVM_H8300_H
+
+/* h8300 does not support KVM */
+
+#endif
Index: linux-2.6/include/asm-ia64/Kbuild
===================================================================
--- linux-2.6.orig/include/asm-ia64/Kbuild
+++ linux-2.6/include/asm-ia64/Kbuild
@@ -6,6 +6,7 @@ header-y += fpswa.h
header-y += ia64regs.h
header-y += intel_intrin.h
header-y += intrinsics.h
+header-y += kvm.h
header-y += perfmon_default_smpl.h
header-y += ptrace_offsets.h
header-y += rse.h
Index: linux-2.6/include/asm-ia64/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6/include/asm-ia64/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_IA64_H
+#define __LINUX_KVM_IA64_H
+
+/* ia64 does not support KVM */
+
+#endif
Index: linux-2.6/include/asm-m32r/Kbuild
===================================================================
--- linux-2.6.orig/include/asm-m32r/Kbuild
+++ linux-2.6/include/asm-m32r/Kbuild
@@ -1 +1,3 @@
include include/asm-generic/Kbuild.asm
+
+header-y += kvm.h
Index: linux-2.6/include/asm-m32r/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6/include/asm-m32r/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_M32R_H
+#define __LINUX_KVM_M32R_H
+
+/* m32r does not support KVM */
+
+#endif
Index: linux-2.6/include/asm-m68k/Kbuild
===================================================================
--- linux-2.6.orig/include/asm-m68k/Kbuild
+++ linux-2.6/include/asm-m68k/Kbuild
@@ -1,2 +1,3 @@
include include/asm-generic/Kbuild.asm
header-y += cachectl.h
+header-y += kvm.h
Index: linux-2.6/include/asm-m68k/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6/include/asm-m68k/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_M68K_H
+#define __LINUX_KVM_M68K_H
+
+/* m68k does not support KVM */
+
+#endif
Index: linux-2.6/include/asm-m68knommu/Kbuild
===================================================================
--- linux-2.6.orig/include/asm-m68knommu/Kbuild
+++ linux-2.6/include/asm-m68knommu/Kbuild
@@ -1 +1,3 @@
include include/asm-generic/Kbuild.asm
+
+header-y += kvm.h
Index: linux-2.6/include/asm-m68knommu/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6/include/asm-m68knommu/kvm.h
@@ -0,0 +1,7 @@
+#ifndef __LINUX_KVM_M68KNOMMU_H
+#define __LINUX_KVM_M68KNOMMU_H
+
+/* m68knommu does not support KVM */
+
+#endif
+
Index: linux-2.6/include/asm-mips/Kbuild
===================================================================
--- linux-2.6.orig/include/asm-mips/Kbuild
+++ linux-2.6/include/asm-mips/Kbuild
@@ -1,3 +1,3 @@
include include/asm-generic/Kbuild.asm

-header-y += cachectl.h sgidefs.h sysmips.h
+header-y += cachectl.h sgidefs.h sysmips.h kvm.h
Index: linux-2.6/include/asm-mips/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6/include/asm-mips/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_MIPS_H
+#define __LINUX_KVM_MIPS_H
+
+/* mips does not support KVM */
+
+#endif
Index: linux-2.6/include/asm-mn10300/Kbuild
===================================================================
--- linux-2.6.orig/include/asm-mn10300/Kbuild
+++ linux-2.6/include/asm-mn10300/Kbuild
@@ -1 +1,3 @@
include include/asm-generic/Kbuild.asm
+
+header-y += kvm.h
Index: linux-2.6/include/asm-mn10300/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6/include/asm-mn10300/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_MN10300_H
+#define __LINUX_KVM_MN10300_H
+
+/* mn10300 does not support KVM */
+
+#endif
Index: linux-2.6/include/asm-parisc/Kbuild
===================================================================
--- linux-2.6.orig/include/asm-parisc/Kbuild
+++ linux-2.6/include/asm-parisc/Kbuild
@@ -1,3 +1,5 @@
include include/asm-generic/Kbuild.asm

+header-y += kvm.h
+
unifdef-y += pdc.h
Index: linux-2.6/include/asm-parisc/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6/include/asm-parisc/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_PARISC_H
+#define __LINUX_KVM_PARISC_H
+
+/* parisc does not support KVM */
+
+#endif
Index: linux-2.6/include/asm-powerpc/Kbuild
===================================================================
--- linux-2.6.orig/include/asm-powerpc/Kbuild
+++ linux-2.6/include/asm-powerpc/Kbuild
@@ -8,6 +8,7 @@ header-y += siginfo.h
header-y += stat.h
header-y += errno.h
header-y += ipcbuf.h
+header-y += kvm.h
header-y += msgbuf.h
header-y += shmbuf.h
header-y += socket.h
Index: linux-2.6/include/asm-powerpc/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6/include/asm-powerpc/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_POWERPC_H
+#define __LINUX_KVM_POWERPC_H
+
+/* powerpc does not support KVM */
+
+#endif
Index: linux-2.6/include/asm-s390/Kbuild
===================================================================
--- linux-2.6.orig/include/asm-s390/Kbuild
+++ linux-2.6/include/asm-s390/Kbuild
@@ -1,6 +1,7 @@
include include/asm-generic/Kbuild.asm

header-y += dasd.h
+header-y += kvm.h
header-y += monwriter.h
header-y += qeth.h
header-y += tape390.h
Index: linux-2.6/include/asm-s390/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6/include/asm-s390/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_S390_H
+#define __LINUX_KVM_S390_H
+
+/* s390 does not support KVM */
+
+#endif
Index: linux-2.6/include/asm-sh/Kbuild
===================================================================
--- linux-2.6.orig/include/asm-sh/Kbuild
+++ linux-2.6/include/asm-sh/Kbuild
@@ -1,6 +1,7 @@
include include/asm-generic/Kbuild.asm

header-y += cpu-features.h
+header-y += kvm.h

unifdef-y += unistd_32.h
unifdef-y += unistd_64.h
Index: linux-2.6/include/asm-sh/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6/include/asm-sh/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_SH_H
+#define __LINUX_KVM_SH_H
+
+/* sh does not support KVM */
+
+#endif
Index: linux-2.6/include/asm-sparc/Kbuild
===================================================================
--- linux-2.6.orig/include/asm-sparc/Kbuild
+++ linux-2.6/include/asm-sparc/Kbuild
@@ -4,6 +4,7 @@ header-y += apc.h
header-y += asi.h
header-y += bpp.h
header-y += jsflash.h
+header-y += kvm.h
header-y += openpromio.h
header-y += pconf.h
header-y += reg.h
Index: linux-2.6/include/asm-sparc/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6/include/asm-sparc/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_SPARC_H
+#define __LINUX_KVM_SPARC_H
+
+/* sparc does not support KVM */
+
+#endif
Index: linux-2.6/include/asm-sparc64/Kbuild
===================================================================
--- linux-2.6.orig/include/asm-sparc64/Kbuild
+++ linux-2.6/include/asm-sparc64/Kbuild
@@ -10,6 +10,7 @@ header-y += bbc.h
header-y += bpp.h
header-y += display7seg.h
header-y += envctrl.h
+header-y += kvm.h
header-y += openprom.h
header-y += openpromio.h
header-y += pconf.h
Index: linux-2.6/include/asm-sparc64/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6/include/asm-sparc64/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_SPARC64_H
+#define __LINUX_KVM_SPARC64_H
+
+/* sparc64 does not support KVM */
+
+#endif
Index: linux-2.6/include/asm-v850/Kbuild
===================================================================
--- linux-2.6.orig/include/asm-v850/Kbuild
+++ linux-2.6/include/asm-v850/Kbuild
@@ -1 +1,3 @@
include include/asm-generic/Kbuild.asm
+
+header-y += kvm.h
Index: linux-2.6/include/asm-v850/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6/include/asm-v850/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_V850_H
+#define __LINUX_KVM_V850_H
+
+/* v850 does not support KVM */
+
+#endif
Index: linux-2.6/include/asm-xtensa/Kbuild
===================================================================
--- linux-2.6.orig/include/asm-xtensa/Kbuild
+++ linux-2.6/include/asm-xtensa/Kbuild
@@ -1 +1,3 @@
include include/asm-generic/Kbuild.asm
+
+header-y += kvm.h
Index: linux-2.6/include/asm-xtensa/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6/include/asm-xtensa/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_XTENSA_H
+#define __LINUX_KVM_XTENSA_H
+
+/* xtensa does not support KVM */
+
+#endif
Index: linux-2.6/include/linux/Kbuild
===================================================================
--- linux-2.6.orig/include/linux/Kbuild
+++ linux-2.6/include/linux/Kbuild
@@ -257,7 +257,7 @@ unifdef-y += kd.h
unifdef-y += kernelcapi.h
unifdef-y += kernel.h
unifdef-y += keyboard.h
-unifdef-$(CONFIG_HAVE_KVM) += kvm.h
+unifdef-y += kvm.h
unifdef-y += llc.h
unifdef-y += loop.h
unifdef-y += lp.h

2008-03-10 11:24:08

by Arnd Bergmann

[permalink] [raw]
Subject: Re: [PATCH] kvm: provide kvm.h for all architecture: fixes headers_install

On Monday 10 March 2008, Christian Borntraeger wrote:
> ?include/asm-alpha/Kbuild ? ? | ? ?1 +
> ?include/asm-alpha/kvm.h ? ? ?| ? ?6 ++++++
> ?include/asm-arm/Kbuild ? ? ? | ? ?2 ++
> ?include/asm-arm/kvm.h ? ? ? ?| ? ?6 ++++++
> ?include/asm-avr32/Kbuild ? ? | ? ?1 +
> ?include/asm-avr32/kvm.h ? ? ?| ? ?6 ++++++
> ?include/asm-blackfin/Kbuild ?| ? ?1 +
> ?include/asm-blackfin/kvm.h ? | ? ?6 ++++++
> ?include/asm-cris/Kbuild ? ? ?| ? ?1 +
> ?include/asm-cris/kvm.h ? ? ? | ? ?6 ++++++
> ?include/asm-frv/Kbuild ? ? ? | ? ?1 +
> ?include/asm-frv/kvm.h ? ? ? ?| ? ?6 ++++++
> ?include/asm-h8300/Kbuild ? ? | ? ?2 ++
> ?include/asm-h8300/kvm.h ? ? ?| ? ?6 ++++++
> ?include/asm-ia64/Kbuild ? ? ?| ? ?1 +
> ?include/asm-ia64/kvm.h ? ? ? | ? ?6 ++++++
> ?include/asm-m32r/Kbuild ? ? ?| ? ?2 ++
> ?include/asm-m32r/kvm.h ? ? ? | ? ?6 ++++++
> ?include/asm-m68k/Kbuild ? ? ?| ? ?1 +
> ?include/asm-m68k/kvm.h ? ? ? | ? ?6 ++++++

Instead of adding kvm.h to every single Kbuild file, you can
just add it once, in include/asm-generic/Kbuild.asm.

Arnd <><

2008-03-10 13:11:27

by Christian Borntraeger

[permalink] [raw]
Subject: [PATCH] kvm: provide kvm.h for all architecture: fixes headers_install

Ok, here goes the second version.
Andrew, if there are no further complaints, please replace the old patch,
with this version. Thank you.

-

[PATCH v2] kvm: provide kvm.h for all architecture: fixes headers_install

Currently include/linux/kvm.h is not considered by make headers_install,
because Kbuild cannot handle " unifdef-$(CONFIG_FOO) += foo.h.
This problem was introduced by 040922c04cf2c8ac70be2e88a8a9614ecdb41d2e,
which makes this an 2.6.25 regression.

One way of solving the issue is to enhance Kbuild, but Avi Kivity and David
Woodhouse conviced me, that changing headers_install is not the way to go.
This patch changes the definition for linux/kvm.h to unifdef-y.

If ?unifdef-y is used for linux/kvm.h "make headers_check" will fail on all
architectures without asm/kvm.h. Therefore, this patch also provides
asm/kvm.h on all architectures.

Changes since v1:
o use asm-generic/Kbuild.asm (Arnd Bergmann)
o fix comment in asm-frv (David Howells)

Signed-off-by: Christian Borntraeger <[email protected]>
Acked-by: Avi Kivity <[email protected]>

---
include/asm-alpha/kvm.h | 6 ++++++
include/asm-arm/kvm.h | 6 ++++++
include/asm-avr32/kvm.h | 6 ++++++
include/asm-blackfin/kvm.h | 6 ++++++
include/asm-cris/kvm.h | 6 ++++++
include/asm-frv/kvm.h | 6 ++++++
include/asm-generic/Kbuild.asm | 2 ++
include/asm-h8300/kvm.h | 6 ++++++
include/asm-ia64/kvm.h | 6 ++++++
include/asm-m32r/kvm.h | 6 ++++++
include/asm-m68k/kvm.h | 6 ++++++
include/asm-m68knommu/kvm.h | 6 ++++++
include/asm-mips/kvm.h | 6 ++++++
include/asm-mn10300/kvm.h | 6 ++++++
include/asm-parisc/kvm.h | 6 ++++++
include/asm-powerpc/kvm.h | 6 ++++++
include/asm-s390/kvm.h | 6 ++++++
include/asm-sh/kvm.h | 6 ++++++
include/asm-sparc/kvm.h | 6 ++++++
include/asm-sparc64/kvm.h | 6 ++++++
include/asm-um/kvm.h | 6 ++++++
include/asm-v850/kvm.h | 6 ++++++
include/asm-xtensa/kvm.h | 6 ++++++
include/linux/Kbuild | 2 +-
24 files changed, 135 insertions(+), 1 deletion(-)

Index: linux-2.6.git/include/asm-alpha/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6.git/include/asm-alpha/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_ALPHA_H
+#define __LINUX_KVM_ALPHA_H
+
+/* alpha does not support KVM */
+
+#endif
Index: linux-2.6.git/include/asm-arm/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6.git/include/asm-arm/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_ARM_H
+#define __LINUX_KVM_ARM_H
+
+/* arm does not support KVM */
+
+#endif
Index: linux-2.6.git/include/asm-avr32/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6.git/include/asm-avr32/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_AVR32_H
+#define __LINUX_KVM_AVR32_H
+
+/* avr32 does not support KVM */
+
+#endif
Index: linux-2.6.git/include/asm-blackfin/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6.git/include/asm-blackfin/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_BLACKFIN_H
+#define __LINUX_KVM_BLACKFIN_H
+
+/* blackfin does not support KVM */
+
+#endif
Index: linux-2.6.git/include/asm-cris/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6.git/include/asm-cris/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_CRIS_H
+#define __LINUX_KVM_CRIS_H
+
+/* cris does not support KVM */
+
+#endif
Index: linux-2.6.git/include/asm-frv/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6.git/include/asm-frv/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_FRV_H
+#define __LINUX_KVM_FRV_H
+
+/* frv does not support KVM */
+
+#endif
Index: linux-2.6.git/include/asm-generic/Kbuild.asm
===================================================================
--- linux-2.6.git.orig/include/asm-generic/Kbuild.asm
+++ linux-2.6.git/include/asm-generic/Kbuild.asm
@@ -1,3 +1,5 @@
+header-y += kvm.h
+
ifeq ($(wildcard
include/asm-$(SRCARCH)/a.out.h),include/asm-$(SRCARCH)/a.out.h)
unifdef-y += a.out.h
endif
Index: linux-2.6.git/include/asm-h8300/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6.git/include/asm-h8300/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_H8300_H
+#define __LINUX_KVM_H8300_H
+
+/* h8300 does not support KVM */
+
+#endif
Index: linux-2.6.git/include/asm-ia64/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6.git/include/asm-ia64/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_IA64_H
+#define __LINUX_KVM_IA64_H
+
+/* ia64 does not support KVM */
+
+#endif
Index: linux-2.6.git/include/asm-m32r/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6.git/include/asm-m32r/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_M32R_H
+#define __LINUX_KVM_M32R_H
+
+/* m32r does not support KVM */
+
+#endif
Index: linux-2.6.git/include/asm-m68k/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6.git/include/asm-m68k/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_M68K_H
+#define __LINUX_KVM_M68K_H
+
+/* m68k does not support KVM */
+
+#endif
Index: linux-2.6.git/include/asm-m68knommu/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6.git/include/asm-m68knommu/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_M68KNOMMU_H
+#define __LINUX_KVM_M68KNOMMU_H
+
+/* m68knommu does not support KVM */
+
+#endif
Index: linux-2.6.git/include/asm-mips/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6.git/include/asm-mips/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_MIPS_H
+#define __LINUX_KVM_MIPS_H
+
+/* mips does not support KVM */
+
+#endif
Index: linux-2.6.git/include/asm-mn10300/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6.git/include/asm-mn10300/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_MN10300_H
+#define __LINUX_KVM_MN10300_H
+
+/* mn10300 does not support KVM */
+
+#endif
Index: linux-2.6.git/include/asm-parisc/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6.git/include/asm-parisc/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_PARISC_H
+#define __LINUX_KVM_PARISC_H
+
+/* parisc does not support KVM */
+
+#endif
Index: linux-2.6.git/include/asm-powerpc/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6.git/include/asm-powerpc/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_POWERPC_H
+#define __LINUX_KVM_POWERPC_H
+
+/* powerpc does not support KVM */
+
+#endif
Index: linux-2.6.git/include/asm-s390/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6.git/include/asm-s390/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_S390_H
+#define __LINUX_KVM_S390_H
+
+/* s390 does not support KVM */
+
+#endif
Index: linux-2.6.git/include/asm-sh/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6.git/include/asm-sh/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_SH_H
+#define __LINUX_KVM_SH_H
+
+/* sh does not support KVM */
+
+#endif
Index: linux-2.6.git/include/asm-sparc/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6.git/include/asm-sparc/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_SPARC_H
+#define __LINUX_KVM_SPARC_H
+
+/* sparc does not support KVM */
+
+#endif
Index: linux-2.6.git/include/asm-sparc64/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6.git/include/asm-sparc64/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_SPARC64_H
+#define __LINUX_KVM_SPARC64_H
+
+/* sparc64 does not support KVM */
+
+#endif
Index: linux-2.6.git/include/asm-um/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6.git/include/asm-um/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_UM_H
+#define __LINUX_KVM_UM_H
+
+/* um does not support KVM */
+
+#endif
Index: linux-2.6.git/include/asm-v850/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6.git/include/asm-v850/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_V850_H
+#define __LINUX_KVM_V850_H
+
+/* v850 does not support KVM */
+
+#endif
Index: linux-2.6.git/include/asm-xtensa/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6.git/include/asm-xtensa/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_XTENSA_H
+#define __LINUX_KVM_XTENSA_H
+
+/* xtensa does not support KVM */
+
+#endif
Index: linux-2.6.git/include/linux/Kbuild
===================================================================
--- linux-2.6.git.orig/include/linux/Kbuild
+++ linux-2.6.git/include/linux/Kbuild
@@ -257,7 +257,7 @@ unifdef-y += kd.h
unifdef-y += kernelcapi.h
unifdef-y += kernel.h
unifdef-y += keyboard.h
-unifdef-$(CONFIG_HAVE_KVM) += kvm.h
+unifdef-y += kvm.h
unifdef-y += llc.h
unifdef-y += loop.h
unifdef-y += lp.h

2008-03-11 06:22:39

by Andrew Morton

[permalink] [raw]
Subject: Re: [PATCH] kvm: provide kvm.h for all architecture: fixes headers_install

On Mon, 10 Mar 2008 14:11:04 +0100 Christian Borntraeger <[email protected]> wrote:

> [PATCH v2] kvm: provide kvm.h for all architecture: fixes headers_install
>
> Currently include/linux/kvm.h is not considered by make headers_install,
> because Kbuild cannot handle " unifdef-$(CONFIG_FOO) += foo.h.
> This problem was introduced by 040922c04cf2c8ac70be2e88a8a9614ecdb41d2e,
> which makes this an 2.6.25 regression.
>
> One way of solving the issue is to enhance Kbuild, but Avi Kivity and David
> Woodhouse conviced me, that changing headers_install is not the way to go.
> This patch changes the definition for linux/kvm.h to unifdef-y.
>
> If ?unifdef-y is used for linux/kvm.h "make headers_check" will fail on all
> architectures without asm/kvm.h. Therefore, this patch also provides
> asm/kvm.h on all architectures.
>
> Changes since v1:
> o use asm-generic/Kbuild.asm (Arnd Bergmann)
> o fix comment in asm-frv (David Howells)

err, this doesn't work.

alpha and m68k (at least) fail make headers_check

/usr/src/devel/usr/include/linux/kvm.h requires asm/kvm.h, which does not exist in exported headers

2008-03-11 06:43:41

by David Woodhouse

[permalink] [raw]
Subject: Re: [PATCH] kvm: provide kvm.h for all architecture: fixes headers_install


On Mon, 2008-03-10 at 23:20 -0700, Andrew Morton wrote:
>
> > Changes since v1:
> > o use asm-generic/Kbuild.asm (Arnd Bergmann)

I don't see that in the diffstat of the patch you dropped (looking at
the immediately subsequent mail in my inbox). Which might explain...

> /usr/src/devel/usr/include/linux/kvm.h requires asm/kvm.h, which does
> not exist in exported headers

--
dwmw2

2008-03-11 07:11:08

by Christian Borntraeger

[permalink] [raw]
Subject: Re: [PATCH] kvm: provide kvm.h for all architecture: fixes headers_install

Am Dienstag, 11. M?rz 2008 schrieb David Woodhouse:
>
> On Mon, 2008-03-10 at 23:20 -0700, Andrew Morton wrote:
> >
> > > Changes since v1:
> > > o use asm-generic/Kbuild.asm (Arnd Bergmann)
>
> I don't see that in the diffstat of the patch you dropped (looking at
> the immediately subsequent mail in my inbox). Which might explain...


I cross tested my patch on all architectures and, yes, that part did not make
it into mm. Maybe it was caused by my last patch being word wrapped.
Here is a resend:


[PATCH v2] kvm: provide kvm.h for all architecture: fixes headers_install

Currently include/linux/kvm.h is not considered by make headers_install,
because Kbuild cannot handle " unifdef-$(CONFIG_FOO) += foo.h.
This problem was introduced by 040922c04cf2c8ac70be2e88a8a9614ecdb41d2e,
which makes this an 2.6.25 regression.

One way of solving the issue is to enhance Kbuild, but Avi and David
conviced me, that changing headers_install is not the way to go. This patch
changes the definition for linux/kvm.h to unifdef-y.

If ?unifdef-y is used for linux/kvm.h "make headers_check" will fail on all
architectures without asm/kvm.h. Therefore, this patch also provides
asm/kvm.h on all architectures.

Changes since v1:
o use asm-generic/Kbuild.asm (Arnd Bergmann)
o fix comment in asm-frv (David Howells)

Signed-off-by: Christian Borntraeger <[email protected]>
Acked-by: Avi Kivity <[email protected]>
CCed: Sam Ravnborg <[email protected]
CCed: David Woodhouse <[email protected]>

---
include/asm-alpha/kvm.h | 6 ++++++
include/asm-arm/kvm.h | 6 ++++++
include/asm-avr32/kvm.h | 6 ++++++
include/asm-blackfin/kvm.h | 6 ++++++
include/asm-cris/kvm.h | 6 ++++++
include/asm-frv/kvm.h | 6 ++++++
include/asm-generic/Kbuild.asm | 2 ++
include/asm-h8300/kvm.h | 6 ++++++
include/asm-ia64/kvm.h | 6 ++++++
include/asm-m32r/kvm.h | 6 ++++++
include/asm-m68k/kvm.h | 6 ++++++
include/asm-m68knommu/kvm.h | 6 ++++++
include/asm-mips/kvm.h | 6 ++++++
include/asm-mn10300/kvm.h | 6 ++++++
include/asm-parisc/kvm.h | 6 ++++++
include/asm-powerpc/kvm.h | 6 ++++++
include/asm-s390/kvm.h | 6 ++++++
include/asm-sh/kvm.h | 6 ++++++
include/asm-sparc/kvm.h | 6 ++++++
include/asm-sparc64/kvm.h | 6 ++++++
include/asm-um/kvm.h | 6 ++++++
include/asm-v850/kvm.h | 6 ++++++
include/asm-xtensa/kvm.h | 6 ++++++
include/linux/Kbuild | 2 +-
24 files changed, 135 insertions(+), 1 deletion(-)

Index: linux-2.6.git/include/asm-alpha/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6.git/include/asm-alpha/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_ALPHA_H
+#define __LINUX_KVM_ALPHA_H
+
+/* alpha does not support KVM */
+
+#endif
Index: linux-2.6.git/include/asm-arm/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6.git/include/asm-arm/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_ARM_H
+#define __LINUX_KVM_ARM_H
+
+/* arm does not support KVM */
+
+#endif
Index: linux-2.6.git/include/asm-avr32/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6.git/include/asm-avr32/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_AVR32_H
+#define __LINUX_KVM_AVR32_H
+
+/* avr32 does not support KVM */
+
+#endif
Index: linux-2.6.git/include/asm-blackfin/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6.git/include/asm-blackfin/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_BLACKFIN_H
+#define __LINUX_KVM_BLACKFIN_H
+
+/* blackfin does not support KVM */
+
+#endif
Index: linux-2.6.git/include/asm-cris/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6.git/include/asm-cris/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_CRIS_H
+#define __LINUX_KVM_CRIS_H
+
+/* cris does not support KVM */
+
+#endif
Index: linux-2.6.git/include/asm-frv/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6.git/include/asm-frv/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_FRV_H
+#define __LINUX_KVM_FRV_H
+
+/* frv does not support KVM */
+
+#endif
Index: linux-2.6.git/include/asm-generic/Kbuild.asm
===================================================================
--- linux-2.6.git.orig/include/asm-generic/Kbuild.asm
+++ linux-2.6.git/include/asm-generic/Kbuild.asm
@@ -1,3 +1,5 @@
+header-y += kvm.h
+
ifeq ($(wildcard include/asm-$(SRCARCH)/a.out.h),include/asm-$(SRCARCH)/a.out.h)
unifdef-y += a.out.h
endif
Index: linux-2.6.git/include/asm-h8300/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6.git/include/asm-h8300/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_H8300_H
+#define __LINUX_KVM_H8300_H
+
+/* h8300 does not support KVM */
+
+#endif
Index: linux-2.6.git/include/asm-ia64/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6.git/include/asm-ia64/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_IA64_H
+#define __LINUX_KVM_IA64_H
+
+/* ia64 does not support KVM */
+
+#endif
Index: linux-2.6.git/include/asm-m32r/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6.git/include/asm-m32r/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_M32R_H
+#define __LINUX_KVM_M32R_H
+
+/* m32r does not support KVM */
+
+#endif
Index: linux-2.6.git/include/asm-m68k/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6.git/include/asm-m68k/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_M68K_H
+#define __LINUX_KVM_M68K_H
+
+/* m68k does not support KVM */
+
+#endif
Index: linux-2.6.git/include/asm-m68knommu/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6.git/include/asm-m68knommu/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_M68KNOMMU_H
+#define __LINUX_KVM_M68KNOMMU_H
+
+/* m68knommu does not support KVM */
+
+#endif
Index: linux-2.6.git/include/asm-mips/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6.git/include/asm-mips/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_MIPS_H
+#define __LINUX_KVM_MIPS_H
+
+/* mips does not support KVM */
+
+#endif
Index: linux-2.6.git/include/asm-mn10300/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6.git/include/asm-mn10300/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_MN10300_H
+#define __LINUX_KVM_MN10300_H
+
+/* mn10300 does not support KVM */
+
+#endif
Index: linux-2.6.git/include/asm-parisc/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6.git/include/asm-parisc/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_PARISC_H
+#define __LINUX_KVM_PARISC_H
+
+/* parisc does not support KVM */
+
+#endif
Index: linux-2.6.git/include/asm-powerpc/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6.git/include/asm-powerpc/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_POWERPC_H
+#define __LINUX_KVM_POWERPC_H
+
+/* powerpc does not support KVM */
+
+#endif
Index: linux-2.6.git/include/asm-s390/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6.git/include/asm-s390/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_S390_H
+#define __LINUX_KVM_S390_H
+
+/* s390 does not support KVM */
+
+#endif
Index: linux-2.6.git/include/asm-sh/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6.git/include/asm-sh/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_SH_H
+#define __LINUX_KVM_SH_H
+
+/* sh does not support KVM */
+
+#endif
Index: linux-2.6.git/include/asm-sparc/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6.git/include/asm-sparc/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_SPARC_H
+#define __LINUX_KVM_SPARC_H
+
+/* sparc does not support KVM */
+
+#endif
Index: linux-2.6.git/include/asm-sparc64/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6.git/include/asm-sparc64/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_SPARC64_H
+#define __LINUX_KVM_SPARC64_H
+
+/* sparc64 does not support KVM */
+
+#endif
Index: linux-2.6.git/include/asm-um/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6.git/include/asm-um/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_UM_H
+#define __LINUX_KVM_UM_H
+
+/* um does not support KVM */
+
+#endif
Index: linux-2.6.git/include/asm-v850/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6.git/include/asm-v850/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_V850_H
+#define __LINUX_KVM_V850_H
+
+/* v850 does not support KVM */
+
+#endif
Index: linux-2.6.git/include/asm-xtensa/kvm.h
===================================================================
--- /dev/null
+++ linux-2.6.git/include/asm-xtensa/kvm.h
@@ -0,0 +1,6 @@
+#ifndef __LINUX_KVM_XTENSA_H
+#define __LINUX_KVM_XTENSA_H
+
+/* xtensa does not support KVM */
+
+#endif
Index: linux-2.6.git/include/linux/Kbuild
===================================================================
--- linux-2.6.git.orig/include/linux/Kbuild
+++ linux-2.6.git/include/linux/Kbuild
@@ -257,7 +257,7 @@ unifdef-y += kd.h
unifdef-y += kernelcapi.h
unifdef-y += kernel.h
unifdef-y += keyboard.h
-unifdef-$(CONFIG_HAVE_KVM) += kvm.h
+unifdef-y += kvm.h
unifdef-y += llc.h
unifdef-y += loop.h
unifdef-y += lp.h

2008-03-11 09:33:28

by Andreas Schwab

[permalink] [raw]
Subject: Re: [PATCH] kvm: provide kvm.h for all architecture: fixes headers_install

Christian Borntraeger <[email protected]> writes:

> include/asm-alpha/kvm.h | 6 ++++++

Can't you put it in asm-generic?

Andreas.

--
Andreas Schwab, SuSE Labs, [email protected]
SuSE Linux Products GmbH, Maxfeldstra?e 5, 90409 N?rnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."

2008-03-11 10:03:13

by Christian Borntraeger

[permalink] [raw]
Subject: Re: [PATCH] kvm: provide kvm.h for all architecture: fixes headers_install

Am Dienstag, 11. M?rz 2008 schrieb Andreas Schwab:
> Christian Borntraeger <[email protected]> writes:
>
> > include/asm-alpha/kvm.h | 6 ++++++
>
> Can't you put it in asm-generic?

I dont think so. The generic part is in include/linux/kvm.h. asm/kvm.h is
populated by each architecture which gets kvm support with arch specfic
definitions. x86 has support and s390, powerpc and ia64 are currently know
to work on ports.


Christian