Message ID | 20230916003118.2540661-20-seanjc@google.com (mailing list archive) |
---|---|
State | Handled Elsewhere |
Headers | show |
Series | KVM: vfio: Hide KVM internals from others | expand |
On Sat, Sep 16, 2023 at 6:01 AM Sean Christopherson <seanjc@google.com> wrote: > > Standardize KVM's include paths across all architectures by declaring > the KVM-specific includes in the common Makefile.kvm. Having common KVM > "own" the included paths reduces the temptation to unnecessarily add > virt/kvm to arch include paths, and conversely if allowing arch code to > grab headers from virt/kvm becomes desirable, virt/kvm can be added to > all architecture's include path with a single line update. > > Having the common KVM makefile append to ccflags also provides a > convenient location to append other things, e.g. KVM-specific #defines. > > Note, this changes the behavior of s390 and PPC, as s390 and PPC > previously overwrote ccflags-y instead of adding on. There is no evidence > that overwriting ccflags-y was necessary or even deliberate, as both s390 > and PPC switched to the overwrite behavior without so much as a passing > mention when EXTRA_CFLAGS was replaced with ccflags-y (commit c73028a02887 > ("s390: change to new flag variable") and commit 4108d9ba9091 > ("powerpc/Makefiles: Change to new flag variables")). > > Signed-off-by: Sean Christopherson <seanjc@google.com> For KVM RISC-V: Acked-by: Anup Patel <anup@brainfault.org> Regards, Anup > --- > arch/arm64/kvm/Makefile | 2 -- > arch/mips/kvm/Makefile | 2 -- > arch/powerpc/kvm/Makefile | 2 -- > arch/riscv/kvm/Makefile | 2 -- > arch/s390/kvm/Makefile | 2 -- > arch/x86/kvm/Makefile | 1 - > virt/kvm/Makefile.kvm | 2 ++ > 7 files changed, 2 insertions(+), 11 deletions(-) > > diff --git a/arch/arm64/kvm/Makefile b/arch/arm64/kvm/Makefile > index c0c050e53157..3996489baeef 100644 > --- a/arch/arm64/kvm/Makefile > +++ b/arch/arm64/kvm/Makefile > @@ -3,8 +3,6 @@ > # Makefile for Kernel-based Virtual Machine module > # > > -ccflags-y += -I $(srctree)/$(src) > - > include $(srctree)/virt/kvm/Makefile.kvm > > obj-$(CONFIG_KVM) += kvm.o > diff --git a/arch/mips/kvm/Makefile b/arch/mips/kvm/Makefile > index 96a7cd21b140..d198e1addea7 100644 > --- a/arch/mips/kvm/Makefile > +++ b/arch/mips/kvm/Makefile > @@ -4,8 +4,6 @@ > > include $(srctree)/virt/kvm/Makefile.kvm > > -ccflags-y += -Iarch/mips/kvm > - > kvm-$(CONFIG_CPU_HAS_MSA) += msa.o > > kvm-y += mips.o emulate.o entry.o \ > diff --git a/arch/powerpc/kvm/Makefile b/arch/powerpc/kvm/Makefile > index 08a0e53d58c7..d6c6678ddf65 100644 > --- a/arch/powerpc/kvm/Makefile > +++ b/arch/powerpc/kvm/Makefile > @@ -3,8 +3,6 @@ > # Makefile for Kernel-based Virtual Machine module > # > > -ccflags-y := -Iarch/powerpc/kvm > - > include $(srctree)/virt/kvm/Makefile.kvm > > common-objs-y += powerpc.o emulate_loadstore.o > diff --git a/arch/riscv/kvm/Makefile b/arch/riscv/kvm/Makefile > index 4c2067fc59fc..ff7d5f67e229 100644 > --- a/arch/riscv/kvm/Makefile > +++ b/arch/riscv/kvm/Makefile > @@ -3,8 +3,6 @@ > # Makefile for RISC-V KVM support > # > > -ccflags-y += -I $(srctree)/$(src) > - > include $(srctree)/virt/kvm/Makefile.kvm > > obj-$(CONFIG_KVM) += kvm.o > diff --git a/arch/s390/kvm/Makefile b/arch/s390/kvm/Makefile > index f17249ab2a72..f8153189e003 100644 > --- a/arch/s390/kvm/Makefile > +++ b/arch/s390/kvm/Makefile > @@ -5,8 +5,6 @@ > > include $(srctree)/virt/kvm/Makefile.kvm > > -ccflags-y := -Iarch/s390/kvm > - > kvm-y += kvm-s390.o intercept.o interrupt.o priv.o sigp.o > kvm-y += diag.o gaccess.o guestdbg.o vsie.o pv.o > > diff --git a/arch/x86/kvm/Makefile b/arch/x86/kvm/Makefile > index 80e3fe184d17..d13f1a7b7b3d 100644 > --- a/arch/x86/kvm/Makefile > +++ b/arch/x86/kvm/Makefile > @@ -1,6 +1,5 @@ > # SPDX-License-Identifier: GPL-2.0 > > -ccflags-y += -I $(srctree)/arch/x86/kvm > ccflags-$(CONFIG_KVM_WERROR) += -Werror > > ifeq ($(CONFIG_FRAME_POINTER),y) > diff --git a/virt/kvm/Makefile.kvm b/virt/kvm/Makefile.kvm > index 29373b59d89a..e85079ad245d 100644 > --- a/virt/kvm/Makefile.kvm > +++ b/virt/kvm/Makefile.kvm > @@ -3,6 +3,8 @@ > # Makefile for Kernel-based Virtual Machine module > # > > +ccflags-y += -I$(srctree)/$(src) > + > KVM ?= ../../../virt/kvm > > kvm-y := $(KVM)/kvm_main.o $(KVM)/eventfd.o $(KVM)/binary_stats.o > -- > 2.42.0.459.ge4e396fd5e-goog >
diff --git a/arch/arm64/kvm/Makefile b/arch/arm64/kvm/Makefile index c0c050e53157..3996489baeef 100644 --- a/arch/arm64/kvm/Makefile +++ b/arch/arm64/kvm/Makefile @@ -3,8 +3,6 @@ # Makefile for Kernel-based Virtual Machine module # -ccflags-y += -I $(srctree)/$(src) - include $(srctree)/virt/kvm/Makefile.kvm obj-$(CONFIG_KVM) += kvm.o diff --git a/arch/mips/kvm/Makefile b/arch/mips/kvm/Makefile index 96a7cd21b140..d198e1addea7 100644 --- a/arch/mips/kvm/Makefile +++ b/arch/mips/kvm/Makefile @@ -4,8 +4,6 @@ include $(srctree)/virt/kvm/Makefile.kvm -ccflags-y += -Iarch/mips/kvm - kvm-$(CONFIG_CPU_HAS_MSA) += msa.o kvm-y += mips.o emulate.o entry.o \ diff --git a/arch/powerpc/kvm/Makefile b/arch/powerpc/kvm/Makefile index 08a0e53d58c7..d6c6678ddf65 100644 --- a/arch/powerpc/kvm/Makefile +++ b/arch/powerpc/kvm/Makefile @@ -3,8 +3,6 @@ # Makefile for Kernel-based Virtual Machine module # -ccflags-y := -Iarch/powerpc/kvm - include $(srctree)/virt/kvm/Makefile.kvm common-objs-y += powerpc.o emulate_loadstore.o diff --git a/arch/riscv/kvm/Makefile b/arch/riscv/kvm/Makefile index 4c2067fc59fc..ff7d5f67e229 100644 --- a/arch/riscv/kvm/Makefile +++ b/arch/riscv/kvm/Makefile @@ -3,8 +3,6 @@ # Makefile for RISC-V KVM support # -ccflags-y += -I $(srctree)/$(src) - include $(srctree)/virt/kvm/Makefile.kvm obj-$(CONFIG_KVM) += kvm.o diff --git a/arch/s390/kvm/Makefile b/arch/s390/kvm/Makefile index f17249ab2a72..f8153189e003 100644 --- a/arch/s390/kvm/Makefile +++ b/arch/s390/kvm/Makefile @@ -5,8 +5,6 @@ include $(srctree)/virt/kvm/Makefile.kvm -ccflags-y := -Iarch/s390/kvm - kvm-y += kvm-s390.o intercept.o interrupt.o priv.o sigp.o kvm-y += diag.o gaccess.o guestdbg.o vsie.o pv.o diff --git a/arch/x86/kvm/Makefile b/arch/x86/kvm/Makefile index 80e3fe184d17..d13f1a7b7b3d 100644 --- a/arch/x86/kvm/Makefile +++ b/arch/x86/kvm/Makefile @@ -1,6 +1,5 @@ # SPDX-License-Identifier: GPL-2.0 -ccflags-y += -I $(srctree)/arch/x86/kvm ccflags-$(CONFIG_KVM_WERROR) += -Werror ifeq ($(CONFIG_FRAME_POINTER),y) diff --git a/virt/kvm/Makefile.kvm b/virt/kvm/Makefile.kvm index 29373b59d89a..e85079ad245d 100644 --- a/virt/kvm/Makefile.kvm +++ b/virt/kvm/Makefile.kvm @@ -3,6 +3,8 @@ # Makefile for Kernel-based Virtual Machine module # +ccflags-y += -I$(srctree)/$(src) + KVM ?= ../../../virt/kvm kvm-y := $(KVM)/kvm_main.o $(KVM)/eventfd.o $(KVM)/binary_stats.o
Standardize KVM's include paths across all architectures by declaring the KVM-specific includes in the common Makefile.kvm. Having common KVM "own" the included paths reduces the temptation to unnecessarily add virt/kvm to arch include paths, and conversely if allowing arch code to grab headers from virt/kvm becomes desirable, virt/kvm can be added to all architecture's include path with a single line update. Having the common KVM makefile append to ccflags also provides a convenient location to append other things, e.g. KVM-specific #defines. Note, this changes the behavior of s390 and PPC, as s390 and PPC previously overwrote ccflags-y instead of adding on. There is no evidence that overwriting ccflags-y was necessary or even deliberate, as both s390 and PPC switched to the overwrite behavior without so much as a passing mention when EXTRA_CFLAGS was replaced with ccflags-y (commit c73028a02887 ("s390: change to new flag variable") and commit 4108d9ba9091 ("powerpc/Makefiles: Change to new flag variables")). Signed-off-by: Sean Christopherson <seanjc@google.com> --- arch/arm64/kvm/Makefile | 2 -- arch/mips/kvm/Makefile | 2 -- arch/powerpc/kvm/Makefile | 2 -- arch/riscv/kvm/Makefile | 2 -- arch/s390/kvm/Makefile | 2 -- arch/x86/kvm/Makefile | 1 - virt/kvm/Makefile.kvm | 2 ++ 7 files changed, 2 insertions(+), 11 deletions(-)