* [PATCH 0/2] kvm tools: arm: support Cortex-A7 CPUs
@ 2013-09-27 17:38 Jonathan Austin
2013-09-27 17:38 ` [PATCH 1/2] kvm tools: arm: extract common timer support code for ARM cpus Jonathan Austin
2013-09-27 17:38 ` [PATCH 2/2] kvm tools: arm: add support for ARM Cortex-A7 Jonathan Austin
0 siblings, 2 replies; 11+ messages in thread
From: Jonathan Austin @ 2013-09-27 17:38 UTC (permalink / raw)
To: kvm, kvmarm
Cc: penberg, marc.zyngier, christoffer.dall, STFD002, ulrich.hecht,
will.deacon, Jonathan Austin
These two patches allow KVM-tool to exploit the Cortex-A7 support for KVM
recently posted to the kvmarm mailing list.
The first patch is a standalone cleanup to extract previously duplicated timer
setup code, and allows us to add A7 support in a small subsequent patch.
Note: the removal of the timer code makes git refuse to see the following:
tools/kvm/arm/aarch32/{cortex_a15.c --> arm-cpu.c}
tools/kvm/arm/aarch64/{cortex_a57.c --> arm-cpu.c}
(even when passed -M40 git's decisions about what's new/renamed are confusing)
The second patch should not be merged before the Cortex-A7 support patches
posted recently to the kvmarm list hit the kernel, as kvm-tool for ARM will not
build if KVM_ARM_TARGET_CORTEX_A7 (added with that series) is not defined.
Jonathan Austin (2):
kvm tools: arm: extract common timer support code for ARM cpus
kvm tools: arm: add support for ARM Cortex-A7
tools/kvm/Makefile | 6 +--
tools/kvm/arm/aarch32/arm-cpu.c | 42 ++++++++++++++++
tools/kvm/arm/aarch32/cortex-a15.c | 61 -----------------------
tools/kvm/arm/aarch64/arm-cpu.c | 50 +++++++++++++++++++
tools/kvm/arm/aarch64/cortex-a57.c | 80 ------------------------------
tools/kvm/arm/include/arm-common/timer.h | 6 +++
tools/kvm/arm/timer.c | 38 ++++++++++++++
7 files changed, 139 insertions(+), 144 deletions(-)
create mode 100644 tools/kvm/arm/aarch32/arm-cpu.c
delete mode 100644 tools/kvm/arm/aarch32/cortex-a15.c
create mode 100644 tools/kvm/arm/aarch64/arm-cpu.c
delete mode 100644 tools/kvm/arm/aarch64/cortex-a57.c
create mode 100644 tools/kvm/arm/include/arm-common/timer.h
create mode 100644 tools/kvm/arm/timer.c
--
1.7.9.5
^ permalink raw reply [flat|nested] 11+ messages in thread* [PATCH 1/2] kvm tools: arm: extract common timer support code for ARM cpus 2013-09-27 17:38 [PATCH 0/2] kvm tools: arm: support Cortex-A7 CPUs Jonathan Austin @ 2013-09-27 17:38 ` Jonathan Austin 2013-09-27 17:38 ` [PATCH 2/2] kvm tools: arm: add support for ARM Cortex-A7 Jonathan Austin 1 sibling, 0 replies; 11+ messages in thread From: Jonathan Austin @ 2013-09-27 17:38 UTC (permalink / raw) To: kvm, kvmarm Cc: penberg, marc.zyngier, christoffer.dall, STFD002, ulrich.hecht, will.deacon, Jonathan Austin The ARM V7 and V8 CPUs use the nearly identical support code for generating timer DT nodes as they both use ARM's architected timers. This code is currently duplicated for AArch32 and AArch64. This cleanup patch generalises timer DT node generation to follow the same pattern as for the GIC. The ability of a DT node to contain multiple compatible strings is exploited to allow an identical DT node to be used on V7 and V8 platforms. Signed-off-by: Jonathan Austin <jonathan.austin@arm.com> Acked-by: Will Deacon <will.deacon@arm.com> --- tools/kvm/Makefile | 6 +-- tools/kvm/arm/aarch32/arm-cpu.c | 35 +++++++++++++ tools/kvm/arm/aarch32/cortex-a15.c | 61 ----------------------- tools/kvm/arm/aarch64/arm-cpu.c | 50 +++++++++++++++++++ tools/kvm/arm/aarch64/cortex-a57.c | 80 ------------------------------ tools/kvm/arm/include/arm-common/timer.h | 6 +++ tools/kvm/arm/timer.c | 38 ++++++++++++++ 7 files changed, 132 insertions(+), 144 deletions(-) create mode 100644 tools/kvm/arm/aarch32/arm-cpu.c delete mode 100644 tools/kvm/arm/aarch32/cortex-a15.c create mode 100644 tools/kvm/arm/aarch64/arm-cpu.c delete mode 100644 tools/kvm/arm/aarch64/cortex-a57.c create mode 100644 tools/kvm/arm/include/arm-common/timer.h create mode 100644 tools/kvm/arm/timer.c diff --git a/tools/kvm/Makefile b/tools/kvm/Makefile index b614aab..27fb2fb 100644 --- a/tools/kvm/Makefile +++ b/tools/kvm/Makefile @@ -157,12 +157,12 @@ endif # ARM OBJS_ARM_COMMON := arm/fdt.o arm/gic.o arm/ioport.o arm/irq.o \ - arm/kvm.o arm/kvm-cpu.o + arm/kvm.o arm/kvm-cpu.o arm/timer.o HDRS_ARM_COMMON := arm/include ifeq ($(ARCH), arm) DEFINES += -DCONFIG_ARM OBJS += $(OBJS_ARM_COMMON) - OBJS += arm/aarch32/cortex-a15.o + OBJS += arm/aarch32/arm-cpu.o OBJS += arm/aarch32/kvm-cpu.o ARCH_INCLUDE := $(HDRS_ARM_COMMON) ARCH_INCLUDE += -Iarm/aarch32/include @@ -175,7 +175,7 @@ endif ifeq ($(ARCH), arm64) DEFINES += -DCONFIG_ARM64 OBJS += $(OBJS_ARM_COMMON) - OBJS += arm/aarch64/cortex-a57.o + OBJS += arm/aarch64/arm-cpu.o OBJS += arm/aarch64/kvm-cpu.o ARCH_INCLUDE := $(HDRS_ARM_COMMON) ARCH_INCLUDE += -Iarm/aarch64/include diff --git a/tools/kvm/arm/aarch32/arm-cpu.c b/tools/kvm/arm/aarch32/arm-cpu.c new file mode 100644 index 0000000..8817d2a --- /dev/null +++ b/tools/kvm/arm/aarch32/arm-cpu.c @@ -0,0 +1,35 @@ +#include "kvm/kvm.h" +#include "kvm/kvm-cpu.h" +#include "kvm/util.h" + +#include "arm-common/gic.h" +#include "arm-common/timer.h" + +#include <linux/byteorder.h> +#include <linux/types.h> + +static void generate_fdt_nodes(void *fdt, struct kvm *kvm, u32 gic_phandle) +{ + int timer_interrupts[4] = {13, 14, 11, 10}; + + gic__generate_fdt_nodes(fdt, gic_phandle); + timer__generate_fdt_nodes(fdt, kvm, timer_interrupts); +} + +static int arm_cpu__vcpu_init(struct kvm_cpu *vcpu) +{ + vcpu->generate_fdt_nodes = generate_fdt_nodes; + return 0; +} + +static struct kvm_arm_target target_cortex_a15 = { + .id = KVM_ARM_TARGET_CORTEX_A15, + .compatible = "arm,cortex-a15", + .init = arm_cpu__vcpu_init, +}; + +static int arm_cpu__core_init(struct kvm *kvm) +{ + return kvm_cpu__register_kvm_arm_target(&target_cortex_a15); +} +core_init(arm_cpu__core_init); diff --git a/tools/kvm/arm/aarch32/cortex-a15.c b/tools/kvm/arm/aarch32/cortex-a15.c deleted file mode 100644 index ca65af7..0000000 --- a/tools/kvm/arm/aarch32/cortex-a15.c +++ /dev/null @@ -1,61 +0,0 @@ -#include "kvm/fdt.h" -#include "kvm/kvm.h" -#include "kvm/kvm-cpu.h" -#include "kvm/util.h" - -#include "arm-common/gic.h" - -#include <linux/byteorder.h> -#include <linux/types.h> - -static void generate_timer_nodes(void *fdt, struct kvm *kvm) -{ - u32 cpu_mask = (((1 << kvm->nrcpus) - 1) << GIC_FDT_IRQ_PPI_CPU_SHIFT) \ - & GIC_FDT_IRQ_PPI_CPU_MASK; - u32 irq_prop[] = { - cpu_to_fdt32(GIC_FDT_IRQ_TYPE_PPI), - cpu_to_fdt32(13), - cpu_to_fdt32(cpu_mask | GIC_FDT_IRQ_FLAGS_EDGE_LO_HI), - - cpu_to_fdt32(GIC_FDT_IRQ_TYPE_PPI), - cpu_to_fdt32(14), - cpu_to_fdt32(cpu_mask | GIC_FDT_IRQ_FLAGS_EDGE_LO_HI), - - cpu_to_fdt32(GIC_FDT_IRQ_TYPE_PPI), - cpu_to_fdt32(11), - cpu_to_fdt32(cpu_mask | GIC_FDT_IRQ_FLAGS_EDGE_LO_HI), - - cpu_to_fdt32(GIC_FDT_IRQ_TYPE_PPI), - cpu_to_fdt32(10), - cpu_to_fdt32(cpu_mask | GIC_FDT_IRQ_FLAGS_EDGE_LO_HI), - }; - - _FDT(fdt_begin_node(fdt, "timer")); - _FDT(fdt_property_string(fdt, "compatible", "arm,armv7-timer")); - _FDT(fdt_property(fdt, "interrupts", irq_prop, sizeof(irq_prop))); - _FDT(fdt_end_node(fdt)); -} - -static void generate_fdt_nodes(void *fdt, struct kvm *kvm, u32 gic_phandle) -{ - gic__generate_fdt_nodes(fdt, gic_phandle); - generate_timer_nodes(fdt, kvm); -} - -static int cortex_a15__vcpu_init(struct kvm_cpu *vcpu) -{ - vcpu->generate_fdt_nodes = generate_fdt_nodes; - return 0; -} - -static struct kvm_arm_target target_cortex_a15 = { - .id = KVM_ARM_TARGET_CORTEX_A15, - .compatible = "arm,cortex-a15", - .init = cortex_a15__vcpu_init, -}; - -static int cortex_a15__core_init(struct kvm *kvm) -{ - return kvm_cpu__register_kvm_arm_target(&target_cortex_a15); -} -core_init(cortex_a15__core_init); diff --git a/tools/kvm/arm/aarch64/arm-cpu.c b/tools/kvm/arm/aarch64/arm-cpu.c new file mode 100644 index 0000000..ce5ea2f --- /dev/null +++ b/tools/kvm/arm/aarch64/arm-cpu.c @@ -0,0 +1,50 @@ +#include "kvm/fdt.h" +#include "kvm/kvm.h" +#include "kvm/kvm-cpu.h" +#include "kvm/util.h" + +#include "arm-common/gic.h" +#include "arm-common/timer.h" + +#include <linux/byteorder.h> +#include <linux/types.h> + +static void generate_fdt_nodes(void *fdt, struct kvm *kvm, u32 gic_phandle) +{ + int timer_interrupts[4] = {13, 14, 11, 10}; + gic__generate_fdt_nodes(fdt, gic_phandle); + timer__generate_fdt_nodes(fdt, kvm, timer_interrupts); +} + + +static int arm_cpu__vcpu_init(struct kvm_cpu *vcpu) +{ + vcpu->generate_fdt_nodes = generate_fdt_nodes; + return 0; +} + +static struct kvm_arm_target target_aem_v8 = { + .id = KVM_ARM_TARGET_AEM_V8, + .compatible = "arm,arm-v8", + .init = arm_cpu__vcpu_init, +}; + +static struct kvm_arm_target target_foundation_v8 = { + .id = KVM_ARM_TARGET_FOUNDATION_V8, + .compatible = "arm,arm-v8", + .init = arm_cpu__vcpu_init, +}; + +static struct kvm_arm_target target_cortex_a57 = { + .id = KVM_ARM_TARGET_CORTEX_A57, + .compatible = "arm,cortex-a57", + .init = arm_cpu__vcpu_init, +}; + +static int arm_cpu__core_init(struct kvm *kvm) +{ + return (kvm_cpu__register_kvm_arm_target(&target_aem_v8) || + kvm_cpu__register_kvm_arm_target(&target_foundation_v8) || + kvm_cpu__register_kvm_arm_target(&target_cortex_a57)); +} +core_init(arm_cpu__core_init); diff --git a/tools/kvm/arm/aarch64/cortex-a57.c b/tools/kvm/arm/aarch64/cortex-a57.c deleted file mode 100644 index 0c340fb..0000000 --- a/tools/kvm/arm/aarch64/cortex-a57.c +++ /dev/null @@ -1,80 +0,0 @@ -#include "kvm/fdt.h" -#include "kvm/kvm.h" -#include "kvm/kvm-cpu.h" -#include "kvm/util.h" - -#include "arm-common/gic.h" - -#include <linux/byteorder.h> -#include <linux/types.h> - -static void generate_timer_nodes(void *fdt, struct kvm *kvm) -{ - u32 cpu_mask = (((1 << kvm->nrcpus) - 1) << GIC_FDT_IRQ_PPI_CPU_SHIFT) \ - & GIC_FDT_IRQ_PPI_CPU_MASK; - u32 irq_prop[] = { - cpu_to_fdt32(GIC_FDT_IRQ_TYPE_PPI), - cpu_to_fdt32(13), - cpu_to_fdt32(cpu_mask | GIC_FDT_IRQ_FLAGS_EDGE_LO_HI), - - cpu_to_fdt32(GIC_FDT_IRQ_TYPE_PPI), - cpu_to_fdt32(14), - cpu_to_fdt32(cpu_mask | GIC_FDT_IRQ_FLAGS_EDGE_LO_HI), - - cpu_to_fdt32(GIC_FDT_IRQ_TYPE_PPI), - cpu_to_fdt32(11), - cpu_to_fdt32(cpu_mask | GIC_FDT_IRQ_FLAGS_EDGE_LO_HI), - - cpu_to_fdt32(GIC_FDT_IRQ_TYPE_PPI), - cpu_to_fdt32(10), - cpu_to_fdt32(cpu_mask | GIC_FDT_IRQ_FLAGS_EDGE_LO_HI), - }; - - _FDT(fdt_begin_node(fdt, "timer")); - _FDT(fdt_property_string(fdt, "compatible", "arm,armv8-timer")); - _FDT(fdt_property(fdt, "interrupts", irq_prop, sizeof(irq_prop))); - _FDT(fdt_end_node(fdt)); -} - -static void generate_fdt_nodes(void *fdt, struct kvm *kvm, u32 gic_phandle) -{ - gic__generate_fdt_nodes(fdt, gic_phandle); - generate_timer_nodes(fdt, kvm); -} - - -static int cortex_a57__vcpu_init(struct kvm_cpu *vcpu) -{ - vcpu->generate_fdt_nodes = generate_fdt_nodes; - return 0; -} - -/* - * As far as userspace is concerned, both of these implementations are - * extremely similar. - */ -static struct kvm_arm_target target_aem_v8 = { - .id = KVM_ARM_TARGET_AEM_V8, - .compatible = "arm,arm-v8", - .init = cortex_a57__vcpu_init, -}; - -static struct kvm_arm_target target_foundation_v8 = { - .id = KVM_ARM_TARGET_FOUNDATION_V8, - .compatible = "arm,arm-v8", - .init = cortex_a57__vcpu_init, -}; - -static struct kvm_arm_target target_cortex_a57 = { - .id = KVM_ARM_TARGET_CORTEX_A57, - .compatible = "arm,cortex-a57", - .init = cortex_a57__vcpu_init, -}; - -static int cortex_a57__core_init(struct kvm *kvm) -{ - return (kvm_cpu__register_kvm_arm_target(&target_aem_v8) || - kvm_cpu__register_kvm_arm_target(&target_foundation_v8) || - kvm_cpu__register_kvm_arm_target(&target_cortex_a57)); -} -core_init(cortex_a57__core_init); diff --git a/tools/kvm/arm/include/arm-common/timer.h b/tools/kvm/arm/include/arm-common/timer.h new file mode 100644 index 0000000..928e9ea --- /dev/null +++ b/tools/kvm/arm/include/arm-common/timer.h @@ -0,0 +1,6 @@ +#ifndef ARM_COMMON__TIMER_H +#define ARM_COMMON__TIMER_H + +void timer__generate_fdt_nodes(void *fdt, struct kvm *kvm, int *irqs); + +#endif /* ARM_COMMON__TIMER_H */ diff --git a/tools/kvm/arm/timer.c b/tools/kvm/arm/timer.c new file mode 100644 index 0000000..bd6a0bb --- /dev/null +++ b/tools/kvm/arm/timer.c @@ -0,0 +1,38 @@ +#include "kvm/fdt.h" +#include "kvm/kvm.h" +#include "kvm/kvm-cpu.h" +#include "kvm/util.h" + +#include "arm-common/gic.h" +#include "arm-common/timer.h" + +void timer__generate_fdt_nodes(void *fdt, struct kvm *kvm, int *irqs) +{ + const char compatible[] = "arm,armv8-timer\0arm,armv7-timer"; + + u32 cpu_mask = (((1 << kvm->nrcpus) - 1) << GIC_FDT_IRQ_PPI_CPU_SHIFT) \ + & GIC_FDT_IRQ_PPI_CPU_MASK; + u32 irq_prop[] = { + cpu_to_fdt32(GIC_FDT_IRQ_TYPE_PPI), + cpu_to_fdt32(irqs[0]), + cpu_to_fdt32(cpu_mask | GIC_FDT_IRQ_FLAGS_EDGE_LO_HI), + + cpu_to_fdt32(GIC_FDT_IRQ_TYPE_PPI), + cpu_to_fdt32(irqs[1]), + cpu_to_fdt32(cpu_mask | GIC_FDT_IRQ_FLAGS_EDGE_LO_HI), + + cpu_to_fdt32(GIC_FDT_IRQ_TYPE_PPI), + cpu_to_fdt32(irqs[2]), + cpu_to_fdt32(cpu_mask | GIC_FDT_IRQ_FLAGS_EDGE_LO_HI), + + cpu_to_fdt32(GIC_FDT_IRQ_TYPE_PPI), + cpu_to_fdt32(irqs[3]), + cpu_to_fdt32(cpu_mask | GIC_FDT_IRQ_FLAGS_EDGE_LO_HI), + }; + + _FDT(fdt_begin_node(fdt, "timer")); + _FDT(fdt_property(fdt, "compatible", compatible, sizeof(compatible))); + _FDT(fdt_property(fdt, "interrupts", irq_prop, sizeof(irq_prop))); + _FDT(fdt_end_node(fdt)); +} + -- 1.7.9.5 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH 2/2] kvm tools: arm: add support for ARM Cortex-A7 2013-09-27 17:38 [PATCH 0/2] kvm tools: arm: support Cortex-A7 CPUs Jonathan Austin 2013-09-27 17:38 ` [PATCH 1/2] kvm tools: arm: extract common timer support code for ARM cpus Jonathan Austin @ 2013-09-27 17:38 ` Jonathan Austin 2013-09-30 9:38 ` Will Deacon 1 sibling, 1 reply; 11+ messages in thread From: Jonathan Austin @ 2013-09-27 17:38 UTC (permalink / raw) To: kvm, kvmarm Cc: penberg, marc.zyngier, christoffer.dall, STFD002, ulrich.hecht, will.deacon, Jonathan Austin The Cortex-A7 is very similar to the Cortex-A15 and as such there is very little extra infrastructure required for KVM tool to be able to create A7-guests. This patch adds the basic support and allows booting of A7 guests on A7 hosts. It depends on Cortex-A7 support patches posted recently to the kvmarm list. Signed-off-by: Jonathan Austin <jonathan.austin@arm.com> --- tools/kvm/arm/aarch32/arm-cpu.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/tools/kvm/arm/aarch32/arm-cpu.c b/tools/kvm/arm/aarch32/arm-cpu.c index 8817d2a..71b98fe 100644 --- a/tools/kvm/arm/aarch32/arm-cpu.c +++ b/tools/kvm/arm/aarch32/arm-cpu.c @@ -28,8 +28,15 @@ static struct kvm_arm_target target_cortex_a15 = { .init = arm_cpu__vcpu_init, }; +static struct kvm_arm_target target_cortex_a7 = { + .id = KVM_ARM_TARGET_CORTEX_A7, + .compatible = "arm,cortex-a7", + .init = arm_cpu__vcpu_init, +}; + static int arm_cpu__core_init(struct kvm *kvm) { - return kvm_cpu__register_kvm_arm_target(&target_cortex_a15); + return (kvm_cpu__register_kvm_arm_target(&target_cortex_a15) || + kvm_cpu__register_kvm_arm_target(&target_cortex_a7)); } core_init(arm_cpu__core_init); -- 1.7.9.5 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH 2/2] kvm tools: arm: add support for ARM Cortex-A7 2013-09-27 17:38 ` [PATCH 2/2] kvm tools: arm: add support for ARM Cortex-A7 Jonathan Austin @ 2013-09-30 9:38 ` Will Deacon 2013-09-30 11:23 ` Pekka Enberg 2013-09-30 13:26 ` Christoffer Dall 0 siblings, 2 replies; 11+ messages in thread From: Will Deacon @ 2013-09-30 9:38 UTC (permalink / raw) To: Jonathan Austin Cc: kvm@vger.kernel.org, kvmarm@lists.cs.columbia.edu, penberg@kernel.org, Marc Zyngier, christoffer.dall@linaro.org, STFD002@freescale.com, ulrich.hecht@gmail.com On Fri, Sep 27, 2013 at 06:38:52PM +0100, Jonathan Austin wrote: > The Cortex-A7 is very similar to the Cortex-A15 and as such there is very > little extra infrastructure required for KVM tool to be able to create > A7-guests. > > This patch adds the basic support and allows booting of A7 guests on A7 > hosts. It depends on Cortex-A7 support patches posted recently to the kvmarm > list. > > Signed-off-by: Jonathan Austin <jonathan.austin@arm.com> > --- > tools/kvm/arm/aarch32/arm-cpu.c | 9 ++++++++- > 1 file changed, 8 insertions(+), 1 deletion(-) > > diff --git a/tools/kvm/arm/aarch32/arm-cpu.c b/tools/kvm/arm/aarch32/arm-cpu.c > index 8817d2a..71b98fe 100644 > --- a/tools/kvm/arm/aarch32/arm-cpu.c > +++ b/tools/kvm/arm/aarch32/arm-cpu.c > @@ -28,8 +28,15 @@ static struct kvm_arm_target target_cortex_a15 = { > .init = arm_cpu__vcpu_init, > }; > > +static struct kvm_arm_target target_cortex_a7 = { > + .id = KVM_ARM_TARGET_CORTEX_A7, > + .compatible = "arm,cortex-a7", > + .init = arm_cpu__vcpu_init, > +}; > + > static int arm_cpu__core_init(struct kvm *kvm) > { > - return kvm_cpu__register_kvm_arm_target(&target_cortex_a15); > + return (kvm_cpu__register_kvm_arm_target(&target_cortex_a15) || > + kvm_cpu__register_kvm_arm_target(&target_cortex_a7)); Acked-by: Will Deacon <will.deacon@arm.com> However, we should hold off applying this to kvmtool until KVM_ARM_TARGET_CORTEX_A7 is defined in the kernel sources which it is shipped with. Do you have an ETA on this change going into the mainline kernel? (in the meantime, I'm happy to stage stuff in my kvmtool/arm tree). Will ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 2/2] kvm tools: arm: add support for ARM Cortex-A7 2013-09-30 9:38 ` Will Deacon @ 2013-09-30 11:23 ` Pekka Enberg 2013-09-30 13:26 ` Christoffer Dall 1 sibling, 0 replies; 11+ messages in thread From: Pekka Enberg @ 2013-09-30 11:23 UTC (permalink / raw) To: Will Deacon Cc: Jonathan Austin, kvm@vger.kernel.org, kvmarm@lists.cs.columbia.edu, Marc Zyngier, christoffer.dall@linaro.org, STFD002@freescale.com, ulrich.hecht@gmail.com On Mon, Sep 30, 2013 at 12:38 PM, Will Deacon <will.deacon@arm.com> wrote: > However, we should hold off applying this to kvmtool until > KVM_ARM_TARGET_CORTEX_A7 is defined in the kernel sources which it is > shipped with. Do you have an ETA on this change going into the mainline > kernel? > > (in the meantime, I'm happy to stage stuff in my kvmtool/arm tree). OK, I'll just wait for you or someone else to resend at a later time. Pekka ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 2/2] kvm tools: arm: add support for ARM Cortex-A7 2013-09-30 9:38 ` Will Deacon 2013-09-30 11:23 ` Pekka Enberg @ 2013-09-30 13:26 ` Christoffer Dall 2013-09-30 13:36 ` Peter Maydell 2013-10-07 18:06 ` Will Deacon 1 sibling, 2 replies; 11+ messages in thread From: Christoffer Dall @ 2013-09-30 13:26 UTC (permalink / raw) To: Will Deacon Cc: Jonathan Austin, kvm@vger.kernel.org, kvmarm@lists.cs.columbia.edu, penberg@kernel.org, Marc Zyngier, STFD002@freescale.com, ulrich.hecht@gmail.com On 30 September 2013 05:38, Will Deacon <will.deacon@arm.com> wrote: > On Fri, Sep 27, 2013 at 06:38:52PM +0100, Jonathan Austin wrote: >> The Cortex-A7 is very similar to the Cortex-A15 and as such there is very >> little extra infrastructure required for KVM tool to be able to create >> A7-guests. >> >> This patch adds the basic support and allows booting of A7 guests on A7 >> hosts. It depends on Cortex-A7 support patches posted recently to the kvmarm >> list. >> >> Signed-off-by: Jonathan Austin <jonathan.austin@arm.com> >> --- >> tools/kvm/arm/aarch32/arm-cpu.c | 9 ++++++++- >> 1 file changed, 8 insertions(+), 1 deletion(-) >> >> diff --git a/tools/kvm/arm/aarch32/arm-cpu.c b/tools/kvm/arm/aarch32/arm-cpu.c >> index 8817d2a..71b98fe 100644 >> --- a/tools/kvm/arm/aarch32/arm-cpu.c >> +++ b/tools/kvm/arm/aarch32/arm-cpu.c >> @@ -28,8 +28,15 @@ static struct kvm_arm_target target_cortex_a15 = { >> .init = arm_cpu__vcpu_init, >> }; >> >> +static struct kvm_arm_target target_cortex_a7 = { >> + .id = KVM_ARM_TARGET_CORTEX_A7, >> + .compatible = "arm,cortex-a7", >> + .init = arm_cpu__vcpu_init, >> +}; >> + >> static int arm_cpu__core_init(struct kvm *kvm) >> { >> - return kvm_cpu__register_kvm_arm_target(&target_cortex_a15); >> + return (kvm_cpu__register_kvm_arm_target(&target_cortex_a15) || >> + kvm_cpu__register_kvm_arm_target(&target_cortex_a7)); > > Acked-by: Will Deacon <will.deacon@arm.com> > > However, we should hold off applying this to kvmtool until > KVM_ARM_TARGET_CORTEX_A7 is defined in the kernel sources which it is > shipped with. Do you have an ETA on this change going into the mainline > kernel? > I plan to merge during next merge window. -Christoffer ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 2/2] kvm tools: arm: add support for ARM Cortex-A7 2013-09-30 13:26 ` Christoffer Dall @ 2013-09-30 13:36 ` Peter Maydell 2013-09-30 13:54 ` Christoffer Dall 2013-10-07 18:06 ` Will Deacon 1 sibling, 1 reply; 11+ messages in thread From: Peter Maydell @ 2013-09-30 13:36 UTC (permalink / raw) To: Christoffer Dall Cc: Will Deacon, Jonathan Austin, kvm@vger.kernel.org, Marc Zyngier, penberg@kernel.org, ulrich.hecht@gmail.com, STFD002@freescale.com, kvmarm@lists.cs.columbia.edu On 30 September 2013 22:26, Christoffer Dall <christoffer.dall@linaro.org> wrote: > On 30 September 2013 05:38, Will Deacon <will.deacon@arm.com> wrote: >> However, we should hold off applying this to kvmtool until >> KVM_ARM_TARGET_CORTEX_A7 is defined in the kernel sources which it is >> shipped with. Do you have an ETA on this change going into the mainline >> kernel? >> > I plan to merge during next merge window. Reminder, after cpu-host, please :-) -- PMM ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 2/2] kvm tools: arm: add support for ARM Cortex-A7 2013-09-30 13:36 ` Peter Maydell @ 2013-09-30 13:54 ` Christoffer Dall 2013-09-30 14:00 ` Marc Zyngier 0 siblings, 1 reply; 11+ messages in thread From: Christoffer Dall @ 2013-09-30 13:54 UTC (permalink / raw) To: Peter Maydell Cc: Will Deacon, Jonathan Austin, kvm@vger.kernel.org, Marc Zyngier, penberg@kernel.org, ulrich.hecht@gmail.com, STFD002@freescale.com, kvmarm@lists.cs.columbia.edu On Mon, Sep 30, 2013 at 10:36:20PM +0900, Peter Maydell wrote: > On 30 September 2013 22:26, Christoffer Dall > <christoffer.dall@linaro.org> wrote: > > On 30 September 2013 05:38, Will Deacon <will.deacon@arm.com> wrote: > >> However, we should hold off applying this to kvmtool until > >> KVM_ARM_TARGET_CORTEX_A7 is defined in the kernel sources which it is > >> shipped with. Do you have an ETA on this change going into the mainline > >> kernel? > >> > > I plan to merge during next merge window. > > Reminder, after cpu-host, please :-) > Yes, plan to merge that one too, I have to re-read Anup's final patch series later today, but I don't anticipate any more problems there. Marc? -Christoffer ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 2/2] kvm tools: arm: add support for ARM Cortex-A7 2013-09-30 13:54 ` Christoffer Dall @ 2013-09-30 14:00 ` Marc Zyngier 0 siblings, 0 replies; 11+ messages in thread From: Marc Zyngier @ 2013-09-30 14:00 UTC (permalink / raw) To: Christoffer Dall Cc: Peter Maydell, Will Deacon, Jonathan Austin, kvm@vger.kernel.org, penberg@kernel.org, ulrich.hecht@gmail.com, STFD002@freescale.com, kvmarm@lists.cs.columbia.edu On 30/09/13 14:54, Christoffer Dall wrote: > On Mon, Sep 30, 2013 at 10:36:20PM +0900, Peter Maydell wrote: >> On 30 September 2013 22:26, Christoffer Dall >> <christoffer.dall@linaro.org> wrote: >>> On 30 September 2013 05:38, Will Deacon <will.deacon@arm.com> wrote: >>>> However, we should hold off applying this to kvmtool until >>>> KVM_ARM_TARGET_CORTEX_A7 is defined in the kernel sources which it is >>>> shipped with. Do you have an ETA on this change going into the mainline >>>> kernel? >>>> >>> I plan to merge during next merge window. >> >> Reminder, after cpu-host, please :-) >> > Yes, plan to merge that one too, I have to re-read Anup's final patch > series later today, but I don't anticipate any more problems there. > > Marc? Still need to go through the patches, but it hopefully should be OK this time. M. -- Jazz is not dead. It just smells funny... ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 2/2] kvm tools: arm: add support for ARM Cortex-A7 2013-09-30 13:26 ` Christoffer Dall 2013-09-30 13:36 ` Peter Maydell @ 2013-10-07 18:06 ` Will Deacon 2013-10-11 18:18 ` Christoffer Dall 1 sibling, 1 reply; 11+ messages in thread From: Will Deacon @ 2013-10-07 18:06 UTC (permalink / raw) To: Christoffer Dall Cc: Jonathan Austin, kvm@vger.kernel.org, kvmarm@lists.cs.columbia.edu, penberg@kernel.org, Marc Zyngier, STFD002@freescale.com, ulrich.hecht@gmail.com On Mon, Sep 30, 2013 at 02:26:16PM +0100, Christoffer Dall wrote: > On 30 September 2013 05:38, Will Deacon <will.deacon@arm.com> wrote: > > On Fri, Sep 27, 2013 at 06:38:52PM +0100, Jonathan Austin wrote: > >> The Cortex-A7 is very similar to the Cortex-A15 and as such there is very > >> little extra infrastructure required for KVM tool to be able to create > >> A7-guests. > >> > >> This patch adds the basic support and allows booting of A7 guests on A7 > >> hosts. It depends on Cortex-A7 support patches posted recently to the kvmarm > >> list. > >> > >> Signed-off-by: Jonathan Austin <jonathan.austin@arm.com> [...] > > However, we should hold off applying this to kvmtool until > > KVM_ARM_TARGET_CORTEX_A7 is defined in the kernel sources which it is > > shipped with. Do you have an ETA on this change going into the mainline > > kernel? > > > I plan to merge during next merge window. Great! Any chance you could publish them in your kvm-arm-next branch please? Will ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 2/2] kvm tools: arm: add support for ARM Cortex-A7 2013-10-07 18:06 ` Will Deacon @ 2013-10-11 18:18 ` Christoffer Dall 0 siblings, 0 replies; 11+ messages in thread From: Christoffer Dall @ 2013-10-11 18:18 UTC (permalink / raw) To: Will Deacon Cc: Jonathan Austin, kvm@vger.kernel.org, kvmarm@lists.cs.columbia.edu, penberg@kernel.org, Marc Zyngier, STFD002@freescale.com, ulrich.hecht@gmail.com On Mon, Oct 07, 2013 at 07:06:06PM +0100, Will Deacon wrote: > On Mon, Sep 30, 2013 at 02:26:16PM +0100, Christoffer Dall wrote: > > On 30 September 2013 05:38, Will Deacon <will.deacon@arm.com> wrote: > > > On Fri, Sep 27, 2013 at 06:38:52PM +0100, Jonathan Austin wrote: > > >> The Cortex-A7 is very similar to the Cortex-A15 and as such there is very > > >> little extra infrastructure required for KVM tool to be able to create > > >> A7-guests. > > >> > > >> This patch adds the basic support and allows booting of A7 guests on A7 > > >> hosts. It depends on Cortex-A7 support patches posted recently to the kvmarm > > >> list. > > >> > > >> Signed-off-by: Jonathan Austin <jonathan.austin@arm.com> > > [...] > > > > However, we should hold off applying this to kvmtool until > > > KVM_ARM_TARGET_CORTEX_A7 is defined in the kernel sources which it is > > > shipped with. Do you have an ETA on this change going into the mainline > > > kernel? > > > > > I plan to merge during next merge window. > > Great! Any chance you could publish them in your kvm-arm-next branch please? > Working on it, need to test them first, hopefully this weekend! Otherwise Monday. -Christoffer ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2013-10-11 18:18 UTC | newest] Thread overview: 11+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2013-09-27 17:38 [PATCH 0/2] kvm tools: arm: support Cortex-A7 CPUs Jonathan Austin 2013-09-27 17:38 ` [PATCH 1/2] kvm tools: arm: extract common timer support code for ARM cpus Jonathan Austin 2013-09-27 17:38 ` [PATCH 2/2] kvm tools: arm: add support for ARM Cortex-A7 Jonathan Austin 2013-09-30 9:38 ` Will Deacon 2013-09-30 11:23 ` Pekka Enberg 2013-09-30 13:26 ` Christoffer Dall 2013-09-30 13:36 ` Peter Maydell 2013-09-30 13:54 ` Christoffer Dall 2013-09-30 14:00 ` Marc Zyngier 2013-10-07 18:06 ` Will Deacon 2013-10-11 18:18 ` Christoffer Dall
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).