* [PATCH v3 0/2] ARM: KVM: Moving GIC/timer out of arch/arm
@ 2013-05-14 13:31 Marc Zyngier
2013-05-14 13:31 ` [PATCH v3 1/2] ARM: KVM: move GIC/timer code to a common location Marc Zyngier
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Marc Zyngier @ 2013-05-14 13:31 UTC (permalink / raw)
To: linux-arm-kernel
As KVM/arm64 is looming on the horizon, it makes sense to move some
of the common code to a single location in order to reduce duplication.
The code could live anywhere. Actually, most of KVM is already built
with a bunch of ugly ../../.. hacks in the various Makefiles, so we're
not exactly talking about style here. But maybe it is time to start
moving into a less ugly direction.
The include files must be in a "public" location, as they are accessed
from non-KVM files (arch/arm/kernel/asm-offsets.c).
For this purpose, introduce two new locations:
- virt/kvm/arm/ : x86 and ia64 already share the ioapic code in
virt/kvm, so this could be seen as a (very ugly) precedent.
- include/kvm/ : there is already an include/xen, and while the
intent is slightly different, this seems as good a location as
any
A second, tree-wide patch also removes the use of the addprefix used
to refer to the main KVM code from the arch code, and replace it with
a KVM variable that does the same thing.
* From v2:
- Fix silly bug breaking compilation on x86...
Marc Zyngier (2):
ARM: KVM: move GIC/timer code to a common location
KVM: get rid of $(addprefix ../../../virt/kvm/, ...) in Makefiles
arch/arm/include/asm/kvm_host.h | 4 ++--
arch/arm/kvm/Makefile | 7 ++++---
arch/ia64/kvm/Makefile | 7 ++++---
arch/powerpc/kvm/Makefile | 13 +++++++------
arch/s390/kvm/Makefile | 3 ++-
arch/x86/kvm/Makefile | 13 +++++++------
.../asm/kvm_arch_timer.h => include/kvm/arm_arch_timer.h | 0
arch/arm/include/asm/kvm_vgic.h => include/kvm/arm_vgic.h | 0
{arch/arm/kvm => virt/kvm/arm}/arch_timer.c | 4 ++--
{arch/arm/kvm => virt/kvm/arm}/vgic.c | 0
10 files changed, 28 insertions(+), 23 deletions(-)
rename arch/arm/include/asm/kvm_arch_timer.h => include/kvm/arm_arch_timer.h (100%)
rename arch/arm/include/asm/kvm_vgic.h => include/kvm/arm_vgic.h (100%)
rename {arch/arm/kvm => virt/kvm/arm}/arch_timer.c (99%)
rename {arch/arm/kvm => virt/kvm/arm}/vgic.c (100%)
--
1.8.2.3
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v3 1/2] ARM: KVM: move GIC/timer code to a common location
2013-05-14 13:31 [PATCH v3 0/2] ARM: KVM: Moving GIC/timer out of arch/arm Marc Zyngier
@ 2013-05-14 13:31 ` Marc Zyngier
2013-05-14 13:31 ` [PATCH v3 2/2] KVM: get rid of $(addprefix ../../../virt/kvm/, ...) in Makefiles Marc Zyngier
2013-05-19 12:14 ` [PATCH v3 0/2] ARM: KVM: Moving GIC/timer out of arch/arm Gleb Natapov
2 siblings, 0 replies; 6+ messages in thread
From: Marc Zyngier @ 2013-05-14 13:31 UTC (permalink / raw)
To: linux-arm-kernel
As KVM/arm64 is looming on the horizon, it makes sense to move some
of the common code to a single location in order to reduce duplication.
The code could live anywhere. Actually, most of KVM is already built
with a bunch of ugly ../../.. hacks in the various Makefiles, so we're
not exactly talking about style here. But maybe it is time to start
moving into a less ugly direction.
The include files must be in a "public" location, as they are accessed
from non-KVM files (arch/arm/kernel/asm-offsets.c).
For this purpose, introduce two new locations:
- virt/kvm/arm/ : x86 and ia64 already share the ioapic code in
virt/kvm, so this could be seen as a (very ugly) precedent.
- include/kvm/ : there is already an include/xen, and while the
intent is slightly different, this seems as good a location as
any
Eventually, we should probably have independant Makefiles at every
levels (just like everywhere else in the kernel), but this is just
the first step.
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
---
arch/arm/include/asm/kvm_host.h | 4 ++--
arch/arm/kvm/Makefile | 7 ++++---
.../include/asm/kvm_arch_timer.h => include/kvm/arm_arch_timer.h | 0
arch/arm/include/asm/kvm_vgic.h => include/kvm/arm_vgic.h | 0
{arch/arm/kvm => virt/kvm/arm}/arch_timer.c | 4 ++--
{arch/arm/kvm => virt/kvm/arm}/vgic.c | 0
6 files changed, 8 insertions(+), 7 deletions(-)
rename arch/arm/include/asm/kvm_arch_timer.h => include/kvm/arm_arch_timer.h (100%)
rename arch/arm/include/asm/kvm_vgic.h => include/kvm/arm_vgic.h (100%)
rename {arch/arm/kvm => virt/kvm/arm}/arch_timer.c (99%)
rename {arch/arm/kvm => virt/kvm/arm}/vgic.c (100%)
diff --git a/arch/arm/include/asm/kvm_host.h b/arch/arm/include/asm/kvm_host.h
index ff49193..1f3cee2 100644
--- a/arch/arm/include/asm/kvm_host.h
+++ b/arch/arm/include/asm/kvm_host.h
@@ -23,7 +23,7 @@
#include <asm/kvm_asm.h>
#include <asm/kvm_mmio.h>
#include <asm/fpstate.h>
-#include <asm/kvm_arch_timer.h>
+#include <kvm/arm_arch_timer.h>
#define KVM_MAX_VCPUS CONFIG_KVM_ARM_MAX_VCPUS
#define KVM_USER_MEM_SLOTS 32
@@ -38,7 +38,7 @@
#define KVM_NR_PAGE_SIZES 1
#define KVM_PAGES_PER_HPAGE(x) (1UL<<31)
-#include <asm/kvm_vgic.h>
+#include <kvm/arm_vgic.h>
struct kvm_vcpu;
u32 *kvm_vcpu_reg(struct kvm_vcpu *vcpu, u8 reg_num, u32 mode);
diff --git a/arch/arm/kvm/Makefile b/arch/arm/kvm/Makefile
index 53c5ed8..9184a49 100644
--- a/arch/arm/kvm/Makefile
+++ b/arch/arm/kvm/Makefile
@@ -14,10 +14,11 @@ CFLAGS_mmu.o := -I.
AFLAGS_init.o := -Wa,-march=armv7-a$(plus_virt)
AFLAGS_interrupts.o := -Wa,-march=armv7-a$(plus_virt)
-kvm-arm-y = $(addprefix ../../../virt/kvm/, kvm_main.o coalesced_mmio.o)
+KVM := ../../../virt/kvm
+kvm-arm-y = $(addprefix $(KVM)/, kvm_main.o coalesced_mmio.o)
obj-y += kvm-arm.o init.o interrupts.o
obj-y += arm.o handle_exit.o guest.o mmu.o emulate.o reset.o
obj-y += coproc.o coproc_a15.o mmio.o psci.o perf.o
-obj-$(CONFIG_KVM_ARM_VGIC) += vgic.o
-obj-$(CONFIG_KVM_ARM_TIMER) += arch_timer.o
+obj-$(CONFIG_KVM_ARM_VGIC) += $(KVM)/arm/vgic.o
+obj-$(CONFIG_KVM_ARM_TIMER) += $(KVM)/arm/arch_timer.o
diff --git a/arch/arm/include/asm/kvm_arch_timer.h b/include/kvm/arm_arch_timer.h
similarity index 100%
rename from arch/arm/include/asm/kvm_arch_timer.h
rename to include/kvm/arm_arch_timer.h
diff --git a/arch/arm/include/asm/kvm_vgic.h b/include/kvm/arm_vgic.h
similarity index 100%
rename from arch/arm/include/asm/kvm_vgic.h
rename to include/kvm/arm_vgic.h
diff --git a/arch/arm/kvm/arch_timer.c b/virt/kvm/arm/arch_timer.c
similarity index 99%
rename from arch/arm/kvm/arch_timer.c
rename to virt/kvm/arm/arch_timer.c
index c55b608..2d00b29 100644
--- a/arch/arm/kvm/arch_timer.c
+++ b/virt/kvm/arm/arch_timer.c
@@ -25,8 +25,8 @@
#include <clocksource/arm_arch_timer.h>
#include <asm/arch_timer.h>
-#include <asm/kvm_vgic.h>
-#include <asm/kvm_arch_timer.h>
+#include <kvm/arm_vgic.h>
+#include <kvm/arm_arch_timer.h>
static struct timecounter *timecounter;
static struct workqueue_struct *wqueue;
diff --git a/arch/arm/kvm/vgic.c b/virt/kvm/arm/vgic.c
similarity index 100%
rename from arch/arm/kvm/vgic.c
rename to virt/kvm/arm/vgic.c
--
1.8.2.3
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v3 2/2] KVM: get rid of $(addprefix ../../../virt/kvm/, ...) in Makefiles
2013-05-14 13:31 [PATCH v3 0/2] ARM: KVM: Moving GIC/timer out of arch/arm Marc Zyngier
2013-05-14 13:31 ` [PATCH v3 1/2] ARM: KVM: move GIC/timer code to a common location Marc Zyngier
@ 2013-05-14 13:31 ` Marc Zyngier
2013-05-16 10:42 ` Gleb Natapov
2013-05-16 11:00 ` Christian Borntraeger
2013-05-19 12:14 ` [PATCH v3 0/2] ARM: KVM: Moving GIC/timer out of arch/arm Gleb Natapov
2 siblings, 2 replies; 6+ messages in thread
From: Marc Zyngier @ 2013-05-14 13:31 UTC (permalink / raw)
To: linux-arm-kernel
As requested by the KVM maintainers, remove the addprefix used to
refer to the main KVM code from the arch code, and replace it with
a KVM variable that does the same thing.
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Gleb Natapov <gleb@redhat.com>
Cc: Christoffer Dall <cdall@cs.columbia.edu>
Acked-by: Xiantao Zhang <xiantao.zhang@intel.com>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Fenghua Yu <fenghua.yu@intel.com>
Cc: Alexander Graf <agraf@suse.de>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Christian Borntraeger <borntraeger@de.ibm.com>
Cc: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
---
arch/arm/kvm/Makefile | 2 +-
arch/ia64/kvm/Makefile | 7 ++++---
arch/powerpc/kvm/Makefile | 13 +++++++------
arch/s390/kvm/Makefile | 3 ++-
arch/x86/kvm/Makefile | 13 +++++++------
5 files changed, 21 insertions(+), 17 deletions(-)
diff --git a/arch/arm/kvm/Makefile b/arch/arm/kvm/Makefile
index 9184a49..d99bee4 100644
--- a/arch/arm/kvm/Makefile
+++ b/arch/arm/kvm/Makefile
@@ -15,7 +15,7 @@ AFLAGS_init.o := -Wa,-march=armv7-a$(plus_virt)
AFLAGS_interrupts.o := -Wa,-march=armv7-a$(plus_virt)
KVM := ../../../virt/kvm
-kvm-arm-y = $(addprefix $(KVM)/, kvm_main.o coalesced_mmio.o)
+kvm-arm-y = $(KVM)/kvm_main.o $(KVM)/coalesced_mmio.o
obj-y += kvm-arm.o init.o interrupts.o
obj-y += arm.o handle_exit.o guest.o mmu.o emulate.o reset.o
diff --git a/arch/ia64/kvm/Makefile b/arch/ia64/kvm/Makefile
index 1a40537..18e45ec 100644
--- a/arch/ia64/kvm/Makefile
+++ b/arch/ia64/kvm/Makefile
@@ -47,12 +47,13 @@ FORCE : $(obj)/$(offsets-file)
ccflags-y := -Ivirt/kvm -Iarch/ia64/kvm/
asflags-y := -Ivirt/kvm -Iarch/ia64/kvm/
+KVM := ../../../virt/kvm
-common-objs = $(addprefix ../../../virt/kvm/, kvm_main.o ioapic.o \
- coalesced_mmio.o irq_comm.o)
+common-objs = $(KVM)/kvm_main.o $(KVM)/ioapic.o \
+ $(KVM)/coalesced_mmio.o $(KVM)/irq_comm.o
ifeq ($(CONFIG_KVM_DEVICE_ASSIGNMENT),y)
-common-objs += $(addprefix ../../../virt/kvm/, assigned-dev.o iommu.o)
+common-objs += $(KVM)/assigned-dev.o $(KVM)/iommu.o
endif
kvm-objs := $(common-objs) kvm-ia64.o kvm_fw.o
diff --git a/arch/powerpc/kvm/Makefile b/arch/powerpc/kvm/Makefile
index 422de3f..008cd85 100644
--- a/arch/powerpc/kvm/Makefile
+++ b/arch/powerpc/kvm/Makefile
@@ -5,9 +5,10 @@
subdir-ccflags-$(CONFIG_PPC_WERROR) := -Werror
ccflags-y := -Ivirt/kvm -Iarch/powerpc/kvm
+KVM := ../../../virt/kvm
-common-objs-y = $(addprefix ../../../virt/kvm/, kvm_main.o coalesced_mmio.o \
- eventfd.o)
+common-objs-y = $(KVM)/kvm_main.o $(KVM)/coalesced_mmio.o \
+ $(KVM)/eventfd.o
CFLAGS_44x_tlb.o := -I.
CFLAGS_e500_mmu.o := -I.
@@ -53,7 +54,7 @@ kvm-e500mc-objs := \
kvm-objs-$(CONFIG_KVM_E500MC) := $(kvm-e500mc-objs)
kvm-book3s_64-objs-$(CONFIG_KVM_BOOK3S_64_PR) := \
- ../../../virt/kvm/coalesced_mmio.o \
+ $(KVM)/coalesced_mmio.o \
fpu.o \
book3s_paired_singles.o \
book3s_pr.o \
@@ -86,8 +87,8 @@ kvm-book3s_64-objs-$(CONFIG_KVM_XICS) += \
book3s_xics.o
kvm-book3s_64-module-objs := \
- ../../../virt/kvm/kvm_main.o \
- ../../../virt/kvm/eventfd.o \
+ $(KVM)/kvm_main.o \
+ $(KVM)/eventfd.o \
powerpc.o \
emulate.o \
book3s.o \
@@ -111,7 +112,7 @@ kvm-book3s_32-objs := \
kvm-objs-$(CONFIG_KVM_BOOK3S_32) := $(kvm-book3s_32-objs)
kvm-objs-$(CONFIG_KVM_MPIC) += mpic.o
-kvm-objs-$(CONFIG_HAVE_KVM_IRQ_ROUTING) += $(addprefix ../../../virt/kvm/, irqchip.o)
+kvm-objs-$(CONFIG_HAVE_KVM_IRQ_ROUTING) += $(KVM)/irqchip.o
kvm-objs := $(kvm-objs-m) $(kvm-objs-y)
diff --git a/arch/s390/kvm/Makefile b/arch/s390/kvm/Makefile
index 8fe9d65..40b4c64 100644
--- a/arch/s390/kvm/Makefile
+++ b/arch/s390/kvm/Makefile
@@ -6,7 +6,8 @@
# it under the terms of the GNU General Public License (version 2 only)
# as published by the Free Software Foundation.
-common-objs = $(addprefix ../../../virt/kvm/, kvm_main.o eventfd.o)
+KVM := ../../../virt/kvm
+common-objs = $(KVM)/kvm_main.o $(KVM)/eventfd.o
ccflags-y := -Ivirt/kvm -Iarch/s390/kvm
diff --git a/arch/x86/kvm/Makefile b/arch/x86/kvm/Makefile
index d609e1d..bf4fb04 100644
--- a/arch/x86/kvm/Makefile
+++ b/arch/x86/kvm/Makefile
@@ -5,12 +5,13 @@ CFLAGS_x86.o := -I.
CFLAGS_svm.o := -I.
CFLAGS_vmx.o := -I.
-kvm-y += $(addprefix ../../../virt/kvm/, kvm_main.o ioapic.o \
- coalesced_mmio.o irq_comm.o eventfd.o \
- irqchip.o)
-kvm-$(CONFIG_KVM_DEVICE_ASSIGNMENT) += $(addprefix ../../../virt/kvm/, \
- assigned-dev.o iommu.o)
-kvm-$(CONFIG_KVM_ASYNC_PF) += $(addprefix ../../../virt/kvm/, async_pf.o)
+KVM := ../../../virt/kvm
+
+kvm-y += $(KVM)/kvm_main.o $(KVM)/ioapic.o \
+ $(KVM)/coalesced_mmio.o $(KVM)/irq_comm.o \
+ $(KVM)/eventfd.o $(KVM)/irqchip.o
+kvm-$(CONFIG_KVM_DEVICE_ASSIGNMENT) += $(KVM)/assigned-dev.o $(KVM)/iommu.o
+kvm-$(CONFIG_KVM_ASYNC_PF) += $(KVM)/async_pf.o
kvm-y += x86.o mmu.o emulate.o i8259.o irq.o lapic.o \
i8254.o cpuid.o pmu.o
--
1.8.2.3
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v3 2/2] KVM: get rid of $(addprefix ../../../virt/kvm/, ...) in Makefiles
2013-05-14 13:31 ` [PATCH v3 2/2] KVM: get rid of $(addprefix ../../../virt/kvm/, ...) in Makefiles Marc Zyngier
@ 2013-05-16 10:42 ` Gleb Natapov
2013-05-16 11:00 ` Christian Borntraeger
1 sibling, 0 replies; 6+ messages in thread
From: Gleb Natapov @ 2013-05-16 10:42 UTC (permalink / raw)
To: linux-arm-kernel
On Tue, May 14, 2013 at 02:31:02PM +0100, Marc Zyngier wrote:
> As requested by the KVM maintainers, remove the addprefix used to
> refer to the main KVM code from the arch code, and replace it with
> a KVM variable that does the same thing.
>
Thanks, I will wait till next week for arch maintainers to comment and apply.
> Cc: Paolo Bonzini <pbonzini@redhat.com>
> Cc: Gleb Natapov <gleb@redhat.com>
> Cc: Christoffer Dall <cdall@cs.columbia.edu>
> Acked-by: Xiantao Zhang <xiantao.zhang@intel.com>
> Cc: Tony Luck <tony.luck@intel.com>
> Cc: Fenghua Yu <fenghua.yu@intel.com>
> Cc: Alexander Graf <agraf@suse.de>
> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
> Cc: Christian Borntraeger <borntraeger@de.ibm.com>
> Cc: Cornelia Huck <cornelia.huck@de.ibm.com>
> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
> ---
> arch/arm/kvm/Makefile | 2 +-
> arch/ia64/kvm/Makefile | 7 ++++---
> arch/powerpc/kvm/Makefile | 13 +++++++------
> arch/s390/kvm/Makefile | 3 ++-
> arch/x86/kvm/Makefile | 13 +++++++------
> 5 files changed, 21 insertions(+), 17 deletions(-)
>
> diff --git a/arch/arm/kvm/Makefile b/arch/arm/kvm/Makefile
> index 9184a49..d99bee4 100644
> --- a/arch/arm/kvm/Makefile
> +++ b/arch/arm/kvm/Makefile
> @@ -15,7 +15,7 @@ AFLAGS_init.o := -Wa,-march=armv7-a$(plus_virt)
> AFLAGS_interrupts.o := -Wa,-march=armv7-a$(plus_virt)
>
> KVM := ../../../virt/kvm
> -kvm-arm-y = $(addprefix $(KVM)/, kvm_main.o coalesced_mmio.o)
> +kvm-arm-y = $(KVM)/kvm_main.o $(KVM)/coalesced_mmio.o
>
> obj-y += kvm-arm.o init.o interrupts.o
> obj-y += arm.o handle_exit.o guest.o mmu.o emulate.o reset.o
> diff --git a/arch/ia64/kvm/Makefile b/arch/ia64/kvm/Makefile
> index 1a40537..18e45ec 100644
> --- a/arch/ia64/kvm/Makefile
> +++ b/arch/ia64/kvm/Makefile
> @@ -47,12 +47,13 @@ FORCE : $(obj)/$(offsets-file)
>
> ccflags-y := -Ivirt/kvm -Iarch/ia64/kvm/
> asflags-y := -Ivirt/kvm -Iarch/ia64/kvm/
> +KVM := ../../../virt/kvm
>
> -common-objs = $(addprefix ../../../virt/kvm/, kvm_main.o ioapic.o \
> - coalesced_mmio.o irq_comm.o)
> +common-objs = $(KVM)/kvm_main.o $(KVM)/ioapic.o \
> + $(KVM)/coalesced_mmio.o $(KVM)/irq_comm.o
>
> ifeq ($(CONFIG_KVM_DEVICE_ASSIGNMENT),y)
> -common-objs += $(addprefix ../../../virt/kvm/, assigned-dev.o iommu.o)
> +common-objs += $(KVM)/assigned-dev.o $(KVM)/iommu.o
> endif
>
> kvm-objs := $(common-objs) kvm-ia64.o kvm_fw.o
> diff --git a/arch/powerpc/kvm/Makefile b/arch/powerpc/kvm/Makefile
> index 422de3f..008cd85 100644
> --- a/arch/powerpc/kvm/Makefile
> +++ b/arch/powerpc/kvm/Makefile
> @@ -5,9 +5,10 @@
> subdir-ccflags-$(CONFIG_PPC_WERROR) := -Werror
>
> ccflags-y := -Ivirt/kvm -Iarch/powerpc/kvm
> +KVM := ../../../virt/kvm
>
> -common-objs-y = $(addprefix ../../../virt/kvm/, kvm_main.o coalesced_mmio.o \
> - eventfd.o)
> +common-objs-y = $(KVM)/kvm_main.o $(KVM)/coalesced_mmio.o \
> + $(KVM)/eventfd.o
>
> CFLAGS_44x_tlb.o := -I.
> CFLAGS_e500_mmu.o := -I.
> @@ -53,7 +54,7 @@ kvm-e500mc-objs := \
> kvm-objs-$(CONFIG_KVM_E500MC) := $(kvm-e500mc-objs)
>
> kvm-book3s_64-objs-$(CONFIG_KVM_BOOK3S_64_PR) := \
> - ../../../virt/kvm/coalesced_mmio.o \
> + $(KVM)/coalesced_mmio.o \
> fpu.o \
> book3s_paired_singles.o \
> book3s_pr.o \
> @@ -86,8 +87,8 @@ kvm-book3s_64-objs-$(CONFIG_KVM_XICS) += \
> book3s_xics.o
>
> kvm-book3s_64-module-objs := \
> - ../../../virt/kvm/kvm_main.o \
> - ../../../virt/kvm/eventfd.o \
> + $(KVM)/kvm_main.o \
> + $(KVM)/eventfd.o \
> powerpc.o \
> emulate.o \
> book3s.o \
> @@ -111,7 +112,7 @@ kvm-book3s_32-objs := \
> kvm-objs-$(CONFIG_KVM_BOOK3S_32) := $(kvm-book3s_32-objs)
>
> kvm-objs-$(CONFIG_KVM_MPIC) += mpic.o
> -kvm-objs-$(CONFIG_HAVE_KVM_IRQ_ROUTING) += $(addprefix ../../../virt/kvm/, irqchip.o)
> +kvm-objs-$(CONFIG_HAVE_KVM_IRQ_ROUTING) += $(KVM)/irqchip.o
>
> kvm-objs := $(kvm-objs-m) $(kvm-objs-y)
>
> diff --git a/arch/s390/kvm/Makefile b/arch/s390/kvm/Makefile
> index 8fe9d65..40b4c64 100644
> --- a/arch/s390/kvm/Makefile
> +++ b/arch/s390/kvm/Makefile
> @@ -6,7 +6,8 @@
> # it under the terms of the GNU General Public License (version 2 only)
> # as published by the Free Software Foundation.
>
> -common-objs = $(addprefix ../../../virt/kvm/, kvm_main.o eventfd.o)
> +KVM := ../../../virt/kvm
> +common-objs = $(KVM)/kvm_main.o $(KVM)/eventfd.o
>
> ccflags-y := -Ivirt/kvm -Iarch/s390/kvm
>
> diff --git a/arch/x86/kvm/Makefile b/arch/x86/kvm/Makefile
> index d609e1d..bf4fb04 100644
> --- a/arch/x86/kvm/Makefile
> +++ b/arch/x86/kvm/Makefile
> @@ -5,12 +5,13 @@ CFLAGS_x86.o := -I.
> CFLAGS_svm.o := -I.
> CFLAGS_vmx.o := -I.
>
> -kvm-y += $(addprefix ../../../virt/kvm/, kvm_main.o ioapic.o \
> - coalesced_mmio.o irq_comm.o eventfd.o \
> - irqchip.o)
> -kvm-$(CONFIG_KVM_DEVICE_ASSIGNMENT) += $(addprefix ../../../virt/kvm/, \
> - assigned-dev.o iommu.o)
> -kvm-$(CONFIG_KVM_ASYNC_PF) += $(addprefix ../../../virt/kvm/, async_pf.o)
> +KVM := ../../../virt/kvm
> +
> +kvm-y += $(KVM)/kvm_main.o $(KVM)/ioapic.o \
> + $(KVM)/coalesced_mmio.o $(KVM)/irq_comm.o \
> + $(KVM)/eventfd.o $(KVM)/irqchip.o
> +kvm-$(CONFIG_KVM_DEVICE_ASSIGNMENT) += $(KVM)/assigned-dev.o $(KVM)/iommu.o
> +kvm-$(CONFIG_KVM_ASYNC_PF) += $(KVM)/async_pf.o
>
> kvm-y += x86.o mmu.o emulate.o i8259.o irq.o lapic.o \
> i8254.o cpuid.o pmu.o
> --
> 1.8.2.3
>
--
Gleb.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v3 2/2] KVM: get rid of $(addprefix ../../../virt/kvm/, ...) in Makefiles
2013-05-14 13:31 ` [PATCH v3 2/2] KVM: get rid of $(addprefix ../../../virt/kvm/, ...) in Makefiles Marc Zyngier
2013-05-16 10:42 ` Gleb Natapov
@ 2013-05-16 11:00 ` Christian Borntraeger
1 sibling, 0 replies; 6+ messages in thread
From: Christian Borntraeger @ 2013-05-16 11:00 UTC (permalink / raw)
To: linux-arm-kernel
On 14/05/13 15:31, Marc Zyngier wrote:
> As requested by the KVM maintainers, remove the addprefix used to
> refer to the main KVM code from the arch code, and replace it with
> a KVM variable that does the same thing.
>
> Cc: Paolo Bonzini <pbonzini@redhat.com>
> Cc: Gleb Natapov <gleb@redhat.com>
> Cc: Christoffer Dall <cdall@cs.columbia.edu>
> Acked-by: Xiantao Zhang <xiantao.zhang@intel.com>
> Cc: Tony Luck <tony.luck@intel.com>
> Cc: Fenghua Yu <fenghua.yu@intel.com>
> Cc: Alexander Graf <agraf@suse.de>
> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
> Cc: Christian Borntraeger <borntraeger@de.ibm.com>
s390 part:
Tested-by: Christian Borntraeger <borntraeger@de.ibm.com>
> Cc: Cornelia Huck <cornelia.huck@de.ibm.com>
> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
> ---
> arch/arm/kvm/Makefile | 2 +-
> arch/ia64/kvm/Makefile | 7 ++++---
> arch/powerpc/kvm/Makefile | 13 +++++++------
> arch/s390/kvm/Makefile | 3 ++-
> arch/x86/kvm/Makefile | 13 +++++++------
> 5 files changed, 21 insertions(+), 17 deletions(-)
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v3 0/2] ARM: KVM: Moving GIC/timer out of arch/arm
2013-05-14 13:31 [PATCH v3 0/2] ARM: KVM: Moving GIC/timer out of arch/arm Marc Zyngier
2013-05-14 13:31 ` [PATCH v3 1/2] ARM: KVM: move GIC/timer code to a common location Marc Zyngier
2013-05-14 13:31 ` [PATCH v3 2/2] KVM: get rid of $(addprefix ../../../virt/kvm/, ...) in Makefiles Marc Zyngier
@ 2013-05-19 12:14 ` Gleb Natapov
2 siblings, 0 replies; 6+ messages in thread
From: Gleb Natapov @ 2013-05-19 12:14 UTC (permalink / raw)
To: linux-arm-kernel
On Tue, May 14, 2013 at 02:31:00PM +0100, Marc Zyngier wrote:
> As KVM/arm64 is looming on the horizon, it makes sense to move some
> of the common code to a single location in order to reduce duplication.
>
> The code could live anywhere. Actually, most of KVM is already built
> with a bunch of ugly ../../.. hacks in the various Makefiles, so we're
> not exactly talking about style here. But maybe it is time to start
> moving into a less ugly direction.
>
> The include files must be in a "public" location, as they are accessed
> from non-KVM files (arch/arm/kernel/asm-offsets.c).
>
> For this purpose, introduce two new locations:
> - virt/kvm/arm/ : x86 and ia64 already share the ioapic code in
> virt/kvm, so this could be seen as a (very ugly) precedent.
> - include/kvm/ : there is already an include/xen, and while the
> intent is slightly different, this seems as good a location as
> any
>
> A second, tree-wide patch also removes the use of the addprefix used
> to refer to the main KVM code from the arch code, and replace it with
> a KVM variable that does the same thing.
>
> * From v2:
> - Fix silly bug breaking compilation on x86...
>
Applied, thanks.
> Marc Zyngier (2):
> ARM: KVM: move GIC/timer code to a common location
> KVM: get rid of $(addprefix ../../../virt/kvm/, ...) in Makefiles
>
> arch/arm/include/asm/kvm_host.h | 4 ++--
> arch/arm/kvm/Makefile | 7 ++++---
> arch/ia64/kvm/Makefile | 7 ++++---
> arch/powerpc/kvm/Makefile | 13 +++++++------
> arch/s390/kvm/Makefile | 3 ++-
> arch/x86/kvm/Makefile | 13 +++++++------
> .../asm/kvm_arch_timer.h => include/kvm/arm_arch_timer.h | 0
> arch/arm/include/asm/kvm_vgic.h => include/kvm/arm_vgic.h | 0
> {arch/arm/kvm => virt/kvm/arm}/arch_timer.c | 4 ++--
> {arch/arm/kvm => virt/kvm/arm}/vgic.c | 0
> 10 files changed, 28 insertions(+), 23 deletions(-)
> rename arch/arm/include/asm/kvm_arch_timer.h => include/kvm/arm_arch_timer.h (100%)
> rename arch/arm/include/asm/kvm_vgic.h => include/kvm/arm_vgic.h (100%)
> rename {arch/arm/kvm => virt/kvm/arm}/arch_timer.c (99%)
> rename {arch/arm/kvm => virt/kvm/arm}/vgic.c (100%)
>
> --
> 1.8.2.3
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe kvm" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
Gleb.
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2013-05-19 12:14 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-05-14 13:31 [PATCH v3 0/2] ARM: KVM: Moving GIC/timer out of arch/arm Marc Zyngier
2013-05-14 13:31 ` [PATCH v3 1/2] ARM: KVM: move GIC/timer code to a common location Marc Zyngier
2013-05-14 13:31 ` [PATCH v3 2/2] KVM: get rid of $(addprefix ../../../virt/kvm/, ...) in Makefiles Marc Zyngier
2013-05-16 10:42 ` Gleb Natapov
2013-05-16 11:00 ` Christian Borntraeger
2013-05-19 12:14 ` [PATCH v3 0/2] ARM: KVM: Moving GIC/timer out of arch/arm Gleb Natapov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).