All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/2] ARM: KVM: Moving GIC/timer out of arch/arm
@ 2013-05-14 13:31 ` Marc Zyngier
  0 siblings, 0 replies; 12+ messages in thread
From: Marc Zyngier @ 2013-05-14 13:31 UTC (permalink / raw)
  To: linux-arm-kernel, kvmarm, kvm

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] 12+ messages in thread

* [PATCH v3 0/2] ARM: KVM: Moving GIC/timer out of arch/arm
@ 2013-05-14 13:31 ` Marc Zyngier
  0 siblings, 0 replies; 12+ 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] 12+ messages in thread

* [PATCH v3 1/2] ARM: KVM: move GIC/timer code to a common location
  2013-05-14 13:31 ` Marc Zyngier
@ 2013-05-14 13:31   ` Marc Zyngier
  -1 siblings, 0 replies; 12+ messages in thread
From: Marc Zyngier @ 2013-05-14 13:31 UTC (permalink / raw)
  To: linux-arm-kernel, kvmarm, kvm

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] 12+ messages in thread

* [PATCH v3 1/2] ARM: KVM: move GIC/timer code to a common location
@ 2013-05-14 13:31   ` Marc Zyngier
  0 siblings, 0 replies; 12+ 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] 12+ messages in thread

* [PATCH v3 2/2] KVM: get rid of $(addprefix ../../../virt/kvm/, ...) in Makefiles
  2013-05-14 13:31 ` Marc Zyngier
@ 2013-05-14 13:31   ` Marc Zyngier
  -1 siblings, 0 replies; 12+ messages in thread
From: Marc Zyngier @ 2013-05-14 13:31 UTC (permalink / raw)
  To: linux-arm-kernel, kvmarm, kvm
  Cc: Paolo Bonzini, Gleb Natapov, Christoffer Dall, Tony Luck,
	Fenghua Yu, Alexander Graf, Benjamin Herrenschmidt,
	Christian Borntraeger, Cornelia Huck, Xiantao Zhang

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] 12+ messages in thread

* [PATCH v3 2/2] KVM: get rid of $(addprefix ../../../virt/kvm/, ...) in Makefiles
@ 2013-05-14 13:31   ` Marc Zyngier
  0 siblings, 0 replies; 12+ 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] 12+ messages in thread

* Re: [PATCH v3 2/2] KVM: get rid of $(addprefix ../../../virt/kvm/, ...) in Makefiles
  2013-05-14 13:31   ` Marc Zyngier
@ 2013-05-16 10:42     ` Gleb Natapov
  -1 siblings, 0 replies; 12+ messages in thread
From: Gleb Natapov @ 2013-05-16 10:42 UTC (permalink / raw)
  To: Marc Zyngier
  Cc: linux-arm-kernel, kvmarm, kvm, Paolo Bonzini, Christoffer Dall,
	Tony Luck, Fenghua Yu, Alexander Graf, Benjamin Herrenschmidt,
	Christian Borntraeger, Cornelia Huck, Xiantao Zhang

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] 12+ messages in thread

* [PATCH v3 2/2] KVM: get rid of $(addprefix ../../../virt/kvm/, ...) in Makefiles
@ 2013-05-16 10:42     ` Gleb Natapov
  0 siblings, 0 replies; 12+ 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] 12+ messages in thread

* Re: [PATCH v3 2/2] KVM: get rid of $(addprefix ../../../virt/kvm/, ...) in Makefiles
  2013-05-14 13:31   ` Marc Zyngier
@ 2013-05-16 11:00     ` Christian Borntraeger
  -1 siblings, 0 replies; 12+ messages in thread
From: Christian Borntraeger @ 2013-05-16 11:00 UTC (permalink / raw)
  To: Marc Zyngier
  Cc: linux-arm-kernel, kvmarm, kvm, Paolo Bonzini, Gleb Natapov,
	Christoffer Dall, Tony Luck, Fenghua Yu, Alexander Graf,
	Benjamin Herrenschmidt, Cornelia Huck, Xiantao Zhang

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] 12+ messages in thread

* [PATCH v3 2/2] KVM: get rid of $(addprefix ../../../virt/kvm/, ...) in Makefiles
@ 2013-05-16 11:00     ` Christian Borntraeger
  0 siblings, 0 replies; 12+ 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] 12+ messages in thread

* Re: [PATCH v3 0/2] ARM: KVM: Moving GIC/timer out of arch/arm
  2013-05-14 13:31 ` Marc Zyngier
@ 2013-05-19 12:14   ` Gleb Natapov
  -1 siblings, 0 replies; 12+ messages in thread
From: Gleb Natapov @ 2013-05-19 12:14 UTC (permalink / raw)
  To: Marc Zyngier; +Cc: linux-arm-kernel, kvmarm, kvm

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@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

--
			Gleb.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH v3 0/2] ARM: KVM: Moving GIC/timer out of arch/arm
@ 2013-05-19 12:14   ` Gleb Natapov
  0 siblings, 0 replies; 12+ 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] 12+ messages in thread

end of thread, other threads:[~2013-05-19 12:15 UTC | newest]

Thread overview: 12+ 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 ` 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-14 13:31 ` [PATCH v3 2/2] KVM: get rid of $(addprefix ../../../virt/kvm/, ...) in Makefiles Marc Zyngier
2013-05-14 13:31   ` Marc Zyngier
2013-05-16 10:42   ` Gleb Natapov
2013-05-16 10:42     ` Gleb Natapov
2013-05-16 11:00   ` Christian Borntraeger
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
2013-05-19 12:14   ` Gleb Natapov

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.