From patchwork Wed Dec 17 11:14:44 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andre Przywara X-Patchwork-Id: 5506731 Return-Path: X-Original-To: patchwork-kvm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 6CE919F4DC for ; Wed, 17 Dec 2014 11:14:58 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 7CAAD20A25 for ; Wed, 17 Dec 2014 11:14:57 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 8784420A26 for ; Wed, 17 Dec 2014 11:14:56 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751335AbaLQLOn (ORCPT ); Wed, 17 Dec 2014 06:14:43 -0500 Received: from cam-admin0.cambridge.arm.com ([217.140.96.50]:45501 "EHLO cam-admin0.cambridge.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751033AbaLQLOm (ORCPT ); Wed, 17 Dec 2014 06:14:42 -0500 Received: from e106785-lin.cambridge.arm.com ([10.1.203.45]) by cam-admin0.cambridge.arm.com (8.12.6/8.12.6) with ESMTP id sBHBEawq026488; Wed, 17 Dec 2014 11:14:37 GMT From: Andre Przywara To: will.deacon@arm.com, penberg@kernel.org Cc: kvmarm@lists.cs.columbia.edu, kvm@vger.kernel.org Subject: [PATCH v2 2/5] kvmtool: replace GIC specific IRQ type #defines Date: Wed, 17 Dec 2014 11:14:44 +0000 Message-Id: <1418814887-3523-3-git-send-email-andre.przywara@arm.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1418814887-3523-1-git-send-email-andre.przywara@arm.com> References: <1418814887-3523-1-git-send-email-andre.przywara@arm.com> Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, T_RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP We had GIC specific defines for the IRQ type identifiers in kvmtool. But In fact the specification of being a level or edge interrupt is quite generic, with the GIC binding using the generic Linux defines. So lets replace the GIC specific names in favour of the general defines used in Linux. Signed-off-by: Andre Przywara --- tools/kvm/arm/fdt.c | 2 +- tools/kvm/arm/include/arm-common/gic.h | 5 ----- tools/kvm/arm/pci.c | 2 +- tools/kvm/arm/timer.c | 8 ++++---- tools/kvm/include/kvm/fdt.h | 9 +++++++++ 5 files changed, 15 insertions(+), 11 deletions(-) diff --git a/tools/kvm/arm/fdt.c b/tools/kvm/arm/fdt.c index 4a33846..24f030f 100644 --- a/tools/kvm/arm/fdt.c +++ b/tools/kvm/arm/fdt.c @@ -79,7 +79,7 @@ static void generate_irq_prop(void *fdt, u8 irq) u32 irq_prop[] = { cpu_to_fdt32(GIC_FDT_IRQ_TYPE_SPI), cpu_to_fdt32(irq - GIC_SPI_IRQ_BASE), - cpu_to_fdt32(GIC_FDT_IRQ_FLAGS_EDGE_LO_HI), + cpu_to_fdt32(IRQ_TYPE_EDGE_RISING), }; _FDT(fdt_property(fdt, "interrupts", irq_prop, sizeof(irq_prop))); diff --git a/tools/kvm/arm/include/arm-common/gic.h b/tools/kvm/arm/include/arm-common/gic.h index 850edc7..5a36f2c 100644 --- a/tools/kvm/arm/include/arm-common/gic.h +++ b/tools/kvm/arm/include/arm-common/gic.h @@ -10,11 +10,6 @@ #define GIC_FDT_IRQ_TYPE_SPI 0 #define GIC_FDT_IRQ_TYPE_PPI 1 -#define GIC_FDT_IRQ_FLAGS_EDGE_LO_HI 1 -#define GIC_FDT_IRQ_FLAGS_EDGE_HI_LO 2 -#define GIC_FDT_IRQ_FLAGS_LEVEL_HI 4 -#define GIC_FDT_IRQ_FLAGS_LEVEL_LO 8 - #define GIC_FDT_IRQ_PPI_CPU_SHIFT 8 #define GIC_FDT_IRQ_PPI_CPU_MASK (0xff << GIC_FDT_IRQ_PPI_CPU_SHIFT) diff --git a/tools/kvm/arm/pci.c b/tools/kvm/arm/pci.c index 9f4dabc..99a8130 100644 --- a/tools/kvm/arm/pci.c +++ b/tools/kvm/arm/pci.c @@ -87,7 +87,7 @@ void pci__generate_fdt_nodes(void *fdt, u32 gic_phandle) .gic_irq = { .type = cpu_to_fdt32(GIC_FDT_IRQ_TYPE_SPI), .num = cpu_to_fdt32(irq - GIC_SPI_IRQ_BASE), - .flags = cpu_to_fdt32(GIC_FDT_IRQ_FLAGS_EDGE_LO_HI), + .flags = cpu_to_fdt32(IRQ_TYPE_EDGE_RISING), }, }; diff --git a/tools/kvm/arm/timer.c b/tools/kvm/arm/timer.c index 209251e..29991da 100644 --- a/tools/kvm/arm/timer.c +++ b/tools/kvm/arm/timer.c @@ -15,19 +15,19 @@ void timer__generate_fdt_nodes(void *fdt, struct kvm *kvm, int *irqs) 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(cpu_mask | IRQ_TYPE_EDGE_RISING), 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(cpu_mask | IRQ_TYPE_EDGE_RISING), 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(cpu_mask | IRQ_TYPE_EDGE_RISING), 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), + cpu_to_fdt32(cpu_mask | IRQ_TYPE_EDGE_RISING), }; _FDT(fdt_begin_node(fdt, "timer")); diff --git a/tools/kvm/include/kvm/fdt.h b/tools/kvm/include/kvm/fdt.h index 19f95ac..dee9a71 100644 --- a/tools/kvm/include/kvm/fdt.h +++ b/tools/kvm/include/kvm/fdt.h @@ -7,6 +7,15 @@ #define FDT_MAX_SIZE 0x10000 +/* Those definitions are generic FDT values for specifying IRQ + * types and are used in the Linux kernel internally as well as in + * the dts files and their documentation. + */ +#define IRQ_TYPE_EDGE_RISING 1 +#define IRQ_TYPE_EDGE_FALLING 2 +#define IRQ_TYPE_LEVEL_HIGH 4 +#define IRQ_TYPE_LEVEL_LOW 8 + /* Helper for the various bits of code that generate FDT nodes */ #define _FDT(exp) \ do { \