KVM: export <linux/kvm_para.h> and <asm/kvm_para.h> iif KVM is supported
I do not see any consistency about headers_install of <linux/kvm_para.h> and <asm/kvm_para.h>. According to my analysis of Linux 5.1-rc1, there are 3 groups: [1] Both <linux/kvm_para.h> and <asm/kvm_para.h> are exported alpha, arm, hexagon, mips, powerpc, s390, sparc, x86 [2] <asm/kvm_para.h> is exported, but <linux/kvm_para.h> is not arc, arm64, c6x, h8300, ia64, m68k, microblaze, nios2, openrisc, parisc, sh, unicore32, xtensa [3] Neither <linux/kvm_para.h> nor <asm/kvm_para.h> is exported csky, nds32, riscv This does not match to the actual KVM support. At least, [2] is half-baked. Nor do arch maintainers look like they care about this. For example, commit 0add5371 ("microblaze: Add missing kvm_para.h to Kbuild") exported <asm/kvm_para.h> to user-space in order to fix an in-kernel build error. We have two ways to make this consistent: [A] export both <linux/kvm_para.h> and <asm/kvm_para.h> for all architectures, irrespective of the KVM support [B] Match the header export of <linux/kvm_para.h> and <asm/kvm_para.h> to the KVM support My first attempt was [A] because the code looks cleaner, but Paolo suggested [B]. So, this commit goes with [B]. For most architectures, <asm/kvm_para.h> was moved to the kernel-space. I changed include/uapi/linux/Kbuild so that it checks generated asm/kvm_para.h as well as check-in ones. After this commit, there will be two groups: [1] Both <linux/kvm_para.h> and <asm/kvm_para.h> are exported arm, arm64, mips, powerpc, s390, x86 [2] Neither <linux/kvm_para.h> nor <asm/kvm_para.h> is exported alpha, arc, c6x, csky, h8300, hexagon, ia64, m68k, microblaze, nds32, nios2, openrisc, parisc, riscv, sh, sparc, unicore32, xtensa Signed-off-by:Masahiro Yamada <yamada.masahiro@socionext.com> Acked-by:
Cornelia Huck <cohuck@redhat.com> Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com>
Showing
- arch/alpha/include/asm/Kbuild 1 addition, 0 deletionsarch/alpha/include/asm/Kbuild
- arch/alpha/include/uapi/asm/kvm_para.h 0 additions, 2 deletionsarch/alpha/include/uapi/asm/kvm_para.h
- arch/arc/include/asm/Kbuild 1 addition, 0 deletionsarch/arc/include/asm/Kbuild
- arch/arc/include/uapi/asm/Kbuild 0 additions, 1 deletionarch/arc/include/uapi/asm/Kbuild
- arch/arm/include/uapi/asm/Kbuild 1 addition, 0 deletionsarch/arm/include/uapi/asm/Kbuild
- arch/arm/include/uapi/asm/kvm_para.h 0 additions, 2 deletionsarch/arm/include/uapi/asm/kvm_para.h
- arch/c6x/include/asm/Kbuild 1 addition, 0 deletionsarch/c6x/include/asm/Kbuild
- arch/c6x/include/uapi/asm/Kbuild 0 additions, 1 deletionarch/c6x/include/uapi/asm/Kbuild
- arch/h8300/include/asm/Kbuild 1 addition, 0 deletionsarch/h8300/include/asm/Kbuild
- arch/h8300/include/uapi/asm/Kbuild 0 additions, 1 deletionarch/h8300/include/uapi/asm/Kbuild
- arch/hexagon/include/asm/Kbuild 1 addition, 0 deletionsarch/hexagon/include/asm/Kbuild
- arch/hexagon/include/uapi/asm/kvm_para.h 0 additions, 2 deletionsarch/hexagon/include/uapi/asm/kvm_para.h
- arch/ia64/include/asm/Kbuild 1 addition, 0 deletionsarch/ia64/include/asm/Kbuild
- arch/ia64/include/uapi/asm/Kbuild 0 additions, 1 deletionarch/ia64/include/uapi/asm/Kbuild
- arch/m68k/include/asm/Kbuild 1 addition, 0 deletionsarch/m68k/include/asm/Kbuild
- arch/m68k/include/uapi/asm/Kbuild 0 additions, 1 deletionarch/m68k/include/uapi/asm/Kbuild
- arch/microblaze/include/asm/Kbuild 1 addition, 0 deletionsarch/microblaze/include/asm/Kbuild
- arch/microblaze/include/uapi/asm/Kbuild 0 additions, 1 deletionarch/microblaze/include/uapi/asm/Kbuild
- arch/nios2/include/asm/Kbuild 1 addition, 0 deletionsarch/nios2/include/asm/Kbuild
- arch/nios2/include/uapi/asm/Kbuild 0 additions, 1 deletionarch/nios2/include/uapi/asm/Kbuild
Loading
Please register or sign in to comment