• Masahiro Yamada's avatar
    KVM: export <linux/kvm_para.h> and <asm/kvm_para.h> iif KVM is supported · 3d9683cf
    Masahiro Yamada authored
    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: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
    Acked-by: default avatarCornelia Huck <cohuck@redhat.com>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    3d9683cf
Kbuild 1.01 KB