History

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 0add53713b1c ("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

Masahiro Yamada committed 7 years ago

Commit 3d9683c1 parent 4d6662333 files · +18 −20Browse files

Unified · Split

33 files
  1. arch/alpha/include/asm/Kbuild +1 −0
  2. arch/alpha/include/uapi/asm/kvm_para.h +0 −2
  3. arch/arc/include/asm/Kbuild +1 −0
  4. arch/arc/include/uapi/asm/Kbuild +0 −1
  5. arch/arm/include/uapi/asm/Kbuild +1 −0
  6. arch/arm/include/uapi/asm/kvm_para.h +0 −2
  7. arch/c6x/include/asm/Kbuild +1 −0
  8. arch/c6x/include/uapi/asm/Kbuild +0 −1
  9. arch/h8300/include/asm/Kbuild +1 −0
  10. arch/h8300/include/uapi/asm/Kbuild +0 −1
  11. arch/hexagon/include/asm/Kbuild +1 −0
  12. arch/hexagon/include/uapi/asm/kvm_para.h +0 −2
  13. arch/ia64/include/asm/Kbuild +1 −0
  14. arch/ia64/include/uapi/asm/Kbuild +0 −1
  15. arch/m68k/include/asm/Kbuild +1 −0
  16. arch/m68k/include/uapi/asm/Kbuild +0 −1
  17. arch/microblaze/include/asm/Kbuild +1 −0
  18. arch/microblaze/include/uapi/asm/Kbuild +0 −1
  19. arch/nios2/include/asm/Kbuild +1 −0
  20. arch/nios2/include/uapi/asm/Kbuild +0 −1
  21. arch/openrisc/include/asm/Kbuild +1 −0
  22. arch/openrisc/include/uapi/asm/Kbuild +0 −1
  23. arch/parisc/include/asm/Kbuild +1 −0
  24. arch/parisc/include/uapi/asm/Kbuild +0 −1
  25. arch/sh/include/asm/Kbuild +1 −0
  26. arch/sh/include/uapi/asm/Kbuild +0 −1
  27. arch/sparc/include/asm/Kbuild +1 −0
  28. arch/sparc/include/uapi/asm/kvm_para.h +0 −2
  29. arch/unicore32/include/asm/Kbuild +1 −0
  30. arch/unicore32/include/uapi/asm/Kbuild +0 −1
  31. arch/xtensa/include/asm/Kbuild +1 −0
  32. arch/xtensa/include/uapi/asm/Kbuild +0 −1
  33. include/uapi/linux/Kbuild +2 −0
arch/alpha/include/asm/Kbuild+1−0
@@ -6,6 +6,7 @@ generic-y += exec.h · 5 unmodified lines
6generic-y += export.h6generic-y += export.h
7generic-y += fb.h7generic-y += fb.h
8generic-y += irq_work.h8generic-y += irq_work.h
9generic-y += kvm_para.h
9generic-y += mcs_spinlock.h10generic-y += mcs_spinlock.h
10generic-y += mm-arch-hooks.h11generic-y += mm-arch-hooks.h
11generic-y += preempt.h12generic-y += preempt.h
arch/alpha/include/uapi/asm/kvm_para.h+0−2
@@ -1,2 +0,0 @@
1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2#include <asm-generic/kvm_para.h>
arch/arc/include/asm/Kbuild+1−0
@@ -11,6 +11,7 @@ generic-y += hardirq.h · 10 unmodified lines
11generic-y += hw_irq.h11generic-y += hw_irq.h
12generic-y += irq_regs.h12generic-y += irq_regs.h
13generic-y += irq_work.h13generic-y += irq_work.h
14generic-y += kvm_para.h
14generic-y += local.h15generic-y += local.h
15generic-y += local64.h16generic-y += local64.h
16generic-y += mcs_spinlock.h17generic-y += mcs_spinlock.h
arch/arc/include/uapi/asm/Kbuild+0−1
@@ -1,2 +1 @@
1generic-y += kvm_para.h
2generic-y += ucontext.h1generic-y += ucontext.h
arch/arm/include/uapi/asm/Kbuild+1−0
@@ -3,3 +3,4 @@ · 2 unmodified lines
3generated-y += unistd-common.h3generated-y += unistd-common.h
4generated-y += unistd-oabi.h4generated-y += unistd-oabi.h
5generated-y += unistd-eabi.h5generated-y += unistd-eabi.h
6generic-y += kvm_para.h
arch/arm/include/uapi/asm/kvm_para.h+0−2
@@ -1,2 +0,0 @@
1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2#include <asm-generic/kvm_para.h>
arch/c6x/include/asm/Kbuild+1−0
@@ -19,6 +19,7 @@ generic-y += irq_work.h · 18 unmodified lines
19generic-y += kdebug.h19generic-y += kdebug.h
20generic-y += kmap_types.h20generic-y += kmap_types.h
21generic-y += kprobes.h21generic-y += kprobes.h
22generic-y += kvm_para.h
22generic-y += local.h23generic-y += local.h
23generic-y += mcs_spinlock.h24generic-y += mcs_spinlock.h
24generic-y += mm-arch-hooks.h25generic-y += mm-arch-hooks.h
arch/c6x/include/uapi/asm/Kbuild+0−1
@@ -1,2 +1 @@
1generic-y += kvm_para.h
2generic-y += ucontext.h1generic-y += ucontext.h
arch/h8300/include/asm/Kbuild+1−0
@@ -23,6 +23,7 @@ generic-y += irq_work.h · 22 unmodified lines
23generic-y += kdebug.h23generic-y += kdebug.h
24generic-y += kmap_types.h24generic-y += kmap_types.h
25generic-y += kprobes.h25generic-y += kprobes.h
26generic-y += kvm_para.h
26generic-y += linkage.h27generic-y += linkage.h
27generic-y += local.h28generic-y += local.h
28generic-y += local64.h29generic-y += local64.h
arch/h8300/include/uapi/asm/Kbuild+0−1
@@ -1,2 +1 @@
1generic-y += kvm_para.h
2generic-y += ucontext.h1generic-y += ucontext.h
arch/hexagon/include/asm/Kbuild+1−0
@@ -19,6 +19,7 @@ generic-y += irq_work.h · 18 unmodified lines
19generic-y += kdebug.h19generic-y += kdebug.h
20generic-y += kmap_types.h20generic-y += kmap_types.h
21generic-y += kprobes.h21generic-y += kprobes.h
22generic-y += kvm_para.h
22generic-y += local.h23generic-y += local.h
23generic-y += local64.h24generic-y += local64.h
24generic-y += mcs_spinlock.h25generic-y += mcs_spinlock.h
arch/hexagon/include/uapi/asm/kvm_para.h+0−2
@@ -1,2 +0,0 @@
1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2#include <asm-generic/kvm_para.h>
arch/ia64/include/asm/Kbuild+1−0
@@ -2,6 +2,7 @@ generated-y += syscall_table.h · 1 unmodified line
2generic-y += compat.h2generic-y += compat.h
3generic-y += exec.h3generic-y += exec.h
4generic-y += irq_work.h4generic-y += irq_work.h
5generic-y += kvm_para.h
5generic-y += mcs_spinlock.h6generic-y += mcs_spinlock.h
6generic-y += mm-arch-hooks.h7generic-y += mm-arch-hooks.h
7generic-y += preempt.h8generic-y += preempt.h
arch/ia64/include/uapi/asm/Kbuild+0−1
@@ -1,2 +1 @@
1generated-y += unistd_64.h1generated-y += unistd_64.h
2generic-y += kvm_para.h
arch/m68k/include/asm/Kbuild+1−0
@@ -13,6 +13,7 @@ generic-y += irq_work.h · 12 unmodified lines
13generic-y += kdebug.h13generic-y += kdebug.h
14generic-y += kmap_types.h14generic-y += kmap_types.h
15generic-y += kprobes.h15generic-y += kprobes.h
16generic-y += kvm_para.h
16generic-y += local.h17generic-y += local.h
17generic-y += local64.h18generic-y += local64.h
18generic-y += mcs_spinlock.h19generic-y += mcs_spinlock.h
arch/m68k/include/uapi/asm/Kbuild+0−1
@@ -1,2 +1 @@
1generated-y += unistd_32.h1generated-y += unistd_32.h
2generic-y += kvm_para.h
arch/microblaze/include/asm/Kbuild+1−0
@@ -17,6 +17,7 @@ generic-y += irq_work.h · 16 unmodified lines
17generic-y += kdebug.h17generic-y += kdebug.h
18generic-y += kmap_types.h18generic-y += kmap_types.h
19generic-y += kprobes.h19generic-y += kprobes.h
20generic-y += kvm_para.h
20generic-y += linkage.h21generic-y += linkage.h
21generic-y += local.h22generic-y += local.h
22generic-y += local64.h23generic-y += local64.h
arch/microblaze/include/uapi/asm/Kbuild+0−1
@@ -1,3 +1,2 @@
1generated-y += unistd_32.h1generated-y += unistd_32.h
2generic-y += kvm_para.h
3generic-y += ucontext.h2generic-y += ucontext.h
arch/nios2/include/asm/Kbuild+1−0
@@ -23,6 +23,7 @@ generic-y += irq_work.h · 22 unmodified lines
23generic-y += kdebug.h23generic-y += kdebug.h
24generic-y += kmap_types.h24generic-y += kmap_types.h
25generic-y += kprobes.h25generic-y += kprobes.h
26generic-y += kvm_para.h
26generic-y += local.h27generic-y += local.h
27generic-y += mcs_spinlock.h28generic-y += mcs_spinlock.h
28generic-y += mm-arch-hooks.h29generic-y += mm-arch-hooks.h
arch/nios2/include/uapi/asm/Kbuild+0−1
@@ -1,2 +1 @@
1generic-y += kvm_para.h
2generic-y += ucontext.h1generic-y += ucontext.h
arch/openrisc/include/asm/Kbuild+1−0
@@ -20,6 +20,7 @@ generic-y += irq_work.h · 19 unmodified lines
20generic-y += kdebug.h20generic-y += kdebug.h
21generic-y += kmap_types.h21generic-y += kmap_types.h
22generic-y += kprobes.h22generic-y += kprobes.h
23generic-y += kvm_para.h
23generic-y += local.h24generic-y += local.h
24generic-y += mcs_spinlock.h25generic-y += mcs_spinlock.h
25generic-y += mm-arch-hooks.h26generic-y += mm-arch-hooks.h
arch/openrisc/include/uapi/asm/Kbuild+0−1
@@ -1,2 +1 @@
1generic-y += kvm_para.h
2generic-y += ucontext.h1generic-y += ucontext.h
arch/parisc/include/asm/Kbuild+1−0
@@ -11,6 +11,7 @@ generic-y += irq_regs.h · 10 unmodified lines
11generic-y += irq_work.h11generic-y += irq_work.h
12generic-y += kdebug.h12generic-y += kdebug.h
13generic-y += kprobes.h13generic-y += kprobes.h
14generic-y += kvm_para.h
14generic-y += local.h15generic-y += local.h
15generic-y += local64.h16generic-y += local64.h
16generic-y += mcs_spinlock.h17generic-y += mcs_spinlock.h
arch/parisc/include/uapi/asm/Kbuild+0−1
@@ -1,3 +1,2 @@
1generated-y += unistd_32.h1generated-y += unistd_32.h
2generated-y += unistd_64.h2generated-y += unistd_64.h
3generic-y += kvm_para.h
arch/sh/include/asm/Kbuild+1−0
@@ -9,6 +9,7 @@ generic-y += emergency-restart.h · 8 unmodified lines
9generic-y += exec.h9generic-y += exec.h
10generic-y += irq_regs.h10generic-y += irq_regs.h
11generic-y += irq_work.h11generic-y += irq_work.h
12generic-y += kvm_para.h
12generic-y += local.h13generic-y += local.h
13generic-y += local64.h14generic-y += local64.h
14generic-y += mcs_spinlock.h15generic-y += mcs_spinlock.h
arch/sh/include/uapi/asm/Kbuild+0−1
@@ -1,5 +1,4 @@
1# SPDX-License-Identifier: GPL-2.01# SPDX-License-Identifier: GPL-2.0
2 2
3generated-y += unistd_32.h3generated-y += unistd_32.h
4generic-y += kvm_para.h
5generic-y += ucontext.h4generic-y += ucontext.h
arch/sparc/include/asm/Kbuild+1−0
@@ -9,6 +9,7 @@ generic-y += exec.h · 8 unmodified lines
9generic-y += export.h9generic-y += export.h
10generic-y += irq_regs.h10generic-y += irq_regs.h
11generic-y += irq_work.h11generic-y += irq_work.h
12generic-y += kvm_para.h
12generic-y += linkage.h13generic-y += linkage.h
13generic-y += local.h14generic-y += local.h
14generic-y += local64.h15generic-y += local64.h
arch/sparc/include/uapi/asm/kvm_para.h+0−2
@@ -1,2 +0,0 @@
1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2#include <asm-generic/kvm_para.h>
arch/unicore32/include/asm/Kbuild+1−0
@@ -18,6 +18,7 @@ generic-y += irq_work.h · 17 unmodified lines
18generic-y += kdebug.h18generic-y += kdebug.h
19generic-y += kmap_types.h19generic-y += kmap_types.h
20generic-y += kprobes.h20generic-y += kprobes.h
21generic-y += kvm_para.h
21generic-y += local.h22generic-y += local.h
22generic-y += mcs_spinlock.h23generic-y += mcs_spinlock.h
23generic-y += mm-arch-hooks.h24generic-y += mm-arch-hooks.h
arch/unicore32/include/uapi/asm/Kbuild+0−1
@@ -1,2 +1 @@
1generic-y += kvm_para.h
2generic-y += ucontext.h1generic-y += ucontext.h
arch/xtensa/include/asm/Kbuild+1−0
@@ -15,6 +15,7 @@ generic-y += irq_work.h · 14 unmodified lines
15generic-y += kdebug.h15generic-y += kdebug.h
16generic-y += kmap_types.h16generic-y += kmap_types.h
17generic-y += kprobes.h17generic-y += kprobes.h
18generic-y += kvm_para.h
18generic-y += local.h19generic-y += local.h
19generic-y += local64.h20generic-y += local64.h
20generic-y += mcs_spinlock.h21generic-y += mcs_spinlock.h
arch/xtensa/include/uapi/asm/Kbuild+0−1
@@ -1,2 +1 @@
1generated-y += unistd_32.h1generated-y += unistd_32.h
2generic-y += kvm_para.h
include/uapi/linux/Kbuild+2−0
@@ -7,5 +7,7 @@ no-export-headers += kvm.h · 6 unmodified lines
7endif7endif
8 8
9ifeq ($(wildcard $(srctree)/arch/$(SRCARCH)/include/uapi/asm/kvm_para.h),)9ifeq ($(wildcard $(srctree)/arch/$(SRCARCH)/include/uapi/asm/kvm_para.h),)
10ifeq ($(wildcard $(objtree)/arch/$(SRCARCH)/include/generated/uapi/asm/kvm_para.h),)
10no-export-headers += kvm_para.h11no-export-headers += kvm_para.h
11endif12endif
13endif