kvm: provide kvm.h for all architecture: fixes headers_install
PATCH 6/24 kvm: provide kvm.h for all architecture: fixes headers_install
From: Christian Borntraeger <[email protected]>
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.
---
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(-)
include/asm-alpha/kvm.h new file +6 -0
@@ -0,0 +1,6 @@ +#ifndef __LINUX_KVM_ALPHA_H +#define __LINUX_KVM_ALPHA_H + +/* alpha does not support KVM */ + +#endif
include/asm-arm/kvm.h new file +6 -0
@@ -0,0 +1,6 @@ +#ifndef __LINUX_KVM_ARM_H +#define __LINUX_KVM_ARM_H + +/* arm does not support KVM */ + +#endif
include/asm-avr32/kvm.h new file +6 -0
@@ -0,0 +1,6 @@ +#ifndef __LINUX_KVM_AVR32_H +#define __LINUX_KVM_AVR32_H + +/* avr32 does not support KVM */ + +#endif
include/asm-blackfin/kvm.h new file +6 -0
@@ -0,0 +1,6 @@ +#ifndef __LINUX_KVM_BLACKFIN_H +#define __LINUX_KVM_BLACKFIN_H + +/* blackfin does not support KVM */ + +#endif
include/asm-cris/kvm.h new file +6 -0
@@ -0,0 +1,6 @@ +#ifndef __LINUX_KVM_CRIS_H +#define __LINUX_KVM_CRIS_H + +/* cris does not support KVM */ + +#endif
include/asm-frv/kvm.h new file +6 -0
@@ -0,0 +1,6 @@ +#ifndef __LINUX_KVM_FRV_H +#define __LINUX_KVM_FRV_H + +/* frv does not support KVM */ + +#endif
include/asm-generic/Kbuild.asm renamed from include/asm-generic/Kbuild.asm~kvm-provide-kvmh-for-all-architecture-fixes-headers_install +2 -0
@@ -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
include/asm-h8300/kvm.h new file +6 -0
@@ -0,0 +1,6 @@ +#ifndef __LINUX_KVM_H8300_H +#define __LINUX_KVM_H8300_H + +/* h8300 does not support KVM */ + +#endif
include/asm-ia64/kvm.h new file +6 -0
@@ -0,0 +1,6 @@ +#ifndef __LINUX_KVM_IA64_H +#define __LINUX_KVM_IA64_H + +/* ia64 does not support KVM */ + +#endif
include/asm-m32r/kvm.h new file +6 -0
@@ -0,0 +1,6 @@ +#ifndef __LINUX_KVM_M32R_H +#define __LINUX_KVM_M32R_H + +/* m32r does not support KVM */ + +#endif
include/asm-m68k/kvm.h new file +6 -0
@@ -0,0 +1,6 @@ +#ifndef __LINUX_KVM_M68K_H +#define __LINUX_KVM_M68K_H + +/* m68k does not support KVM */ + +#endif
include/asm-m68knommu/kvm.h new file +6 -0
@@ -0,0 +1,6 @@ +#ifndef __LINUX_KVM_M68KNOMMU_H +#define __LINUX_KVM_M68KNOMMU_H + +/* m68knommu does not support KVM */ + +#endif
include/asm-mips/kvm.h new file +6 -0
@@ -0,0 +1,6 @@ +#ifndef __LINUX_KVM_MIPS_H +#define __LINUX_KVM_MIPS_H + +/* mips does not support KVM */ + +#endif
include/asm-mn10300/kvm.h new file +6 -0
@@ -0,0 +1,6 @@ +#ifndef __LINUX_KVM_MN10300_H +#define __LINUX_KVM_MN10300_H + +/* mn10300 does not support KVM */ + +#endif
include/asm-parisc/kvm.h new file +6 -0
@@ -0,0 +1,6 @@ +#ifndef __LINUX_KVM_PARISC_H +#define __LINUX_KVM_PARISC_H + +/* parisc does not support KVM */ + +#endif
include/asm-powerpc/kvm.h new file +6 -0
@@ -0,0 +1,6 @@ +#ifndef __LINUX_KVM_POWERPC_H +#define __LINUX_KVM_POWERPC_H + +/* powerpc does not support KVM */ + +#endif
include/asm-s390/kvm.h new file +6 -0
@@ -0,0 +1,6 @@ +#ifndef __LINUX_KVM_S390_H +#define __LINUX_KVM_S390_H + +/* s390 does not support KVM */ + +#endif
include/asm-sh/kvm.h new file +6 -0
@@ -0,0 +1,6 @@ +#ifndef __LINUX_KVM_SH_H +#define __LINUX_KVM_SH_H + +/* sh does not support KVM */ + +#endif
include/asm-sparc/kvm.h new file +6 -0
@@ -0,0 +1,6 @@ +#ifndef __LINUX_KVM_SPARC_H +#define __LINUX_KVM_SPARC_H + +/* sparc does not support KVM */ + +#endif
include/asm-sparc64/kvm.h new file +6 -0
@@ -0,0 +1,6 @@ +#ifndef __LINUX_KVM_SPARC64_H +#define __LINUX_KVM_SPARC64_H + +/* sparc64 does not support KVM */ + +#endif
include/asm-um/kvm.h new file +6 -0
@@ -0,0 +1,6 @@ +#ifndef __LINUX_KVM_UM_H +#define __LINUX_KVM_UM_H + +/* um does not support KVM */ + +#endif
include/asm-v850/kvm.h new file +6 -0
@@ -0,0 +1,6 @@ +#ifndef __LINUX_KVM_V850_H +#define __LINUX_KVM_V850_H + +/* v850 does not support KVM */ + +#endif
include/asm-xtensa/kvm.h new file +6 -0
@@ -0,0 +1,6 @@ +#ifndef __LINUX_KVM_XTENSA_H +#define __LINUX_KVM_XTENSA_H + +/* xtensa does not support KVM */ + +#endif
include/linux/Kbuild renamed from include/linux/Kbuild~kvm-provide-kvmh-for-all-architecture-fixes-headers_install +1 -1
@@ -255,7 +255,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
_
A message that is not in the archive (sent off-list or not yet received): 200803282115.m2SLFscm010265-AB4EexQrvXRQetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org
Quoted 5 lines · On Fri, 28 Mar 2008, akpm-de/[email protected]…
Currently
include/linux/kvm.his not considered by makeheaders_install, becauseKbuildcannot handle " unifdef-$(CONFIG_FOO) +=foo.h. This problem was introduced by040922c04cf2c8ac70be2e88a8a9614ecdb41d2e, which makes this an 2.6.25 regression.
That makes no sense. Commit 040922c04cf2c8ac70be2e88a8a9614ecdb41d2e is "include falloc.h in header-y", and seems to have nothing to do with kvm.h.
I absolutely detest how people put git commit SHA1's without any other information anyway, but this is a classic example of why you shouldn't do
that: if somebody had actually bothered to look at what the SHA1 was, that person would probably have realized that the SHA1 was wrong.
So please - add the one-liner to all SHA1 ones, so that non-git people see what it is all about, and so that people who just read the commit log can make sense of it. And in trying to make sense of it, it can become obvious that it doesn't actually make any sense!
Of if the addition of falloc.h really _does_ matter, can somebody explain it to me?
Linus
A message that is not in the archive (sent off-list or not yet received): alpine.LFD.1.00.0803281435090.14670-5CScLwifNT1QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org
Am Freitag, 28. März 2008 schrieb Linus Torvalds:
Quoted 3 lines
That makes no sense. Commit
040922c04cf2c8ac70be2e88a8a9614ecdb41d2eis "includefalloc.hin header-y", and seems to have nothing to do withkvm.h.
[...]
Quoted 4 lines
So please - add the one-liner to all SHA1 ones, so that non-git people see what it is all about, and so that people who just read the commit log can make sense of it. And in trying to make sense of it, it can become obvious that it doesn't actually make any sense!
Sorry, you are right. The proper commit is fb56dbb31c4738a3918db81fd24da732ce3b4ae6 (KVM: Export include/linux/kvm.h only if $ARCH actually supports KVM) and I have clue at all, why I wrote the wrong SHA1 id. Sorry, I will double check the next time and also add the description.
Christian