From patchwork Tue Oct 30 01:35:23 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Crosthwaite X-Patchwork-Id: 195225 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id 8C0952C009A for ; Tue, 30 Oct 2012 12:36:11 +1100 (EST) Received: from localhost ([::1]:47709 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TT0kT-0002mb-Nc for incoming@patchwork.ozlabs.org; Mon, 29 Oct 2012 21:36:09 -0400 Received: from eggs.gnu.org ([208.118.235.92]:35017) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TT0k9-0002Kn-Pj for qemu-devel@nongnu.org; Mon, 29 Oct 2012 21:35:50 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TT0k8-0000iq-EK for qemu-devel@nongnu.org; Mon, 29 Oct 2012 21:35:49 -0400 Received: from mail-da0-f45.google.com ([209.85.210.45]:40074) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TT0k8-0000gB-50 for qemu-devel@nongnu.org; Mon, 29 Oct 2012 21:35:48 -0400 Received: by mail-da0-f45.google.com with SMTP id n15so2535205dad.4 for ; Mon, 29 Oct 2012 18:35:47 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=sender:from:to:cc:subject:date:message-id:x-mailer:in-reply-to :references:in-reply-to:references:x-gm-message-state; bh=hXFVRjjVdrn0P01sCF+T1tEX4Q2/5Kmfzb4BqA0TKjk=; b=pFqv1FqYe/PLdtGQJ+809JkxucS4e0CNvin2rqTf4zkEEChTBZoUwDmMOl+hEkaz/E 8th83yFICbURrt/kA1riRkXPR9ECyHEu02KxaVhj56B7aqbZbS3cN/hpPHILTlEVsTMA lwQdlky09bNslpIu6EBME7IxwR7m5Cnk4ZkVdWXd/90QnCFG4ensSr10DeB7PiShGoBX xRWkvtnDrx/v4JTKqSZ70q55Fgkgqmmkv7PXJhWHz3406+A5w3OEoc1hszu9LbNlRdiV 5qT9Niy9ncSN5nUy9GiHQ+nIOI2xigL0sOs2PitTtN/zUrmLuc69sw07wYNSKj/LAeAv 6xdQ== Received: by 10.68.136.201 with SMTP id qc9mr5252926pbb.46.1351560947772; Mon, 29 Oct 2012 18:35:47 -0700 (PDT) Received: from localhost ([124.148.20.9]) by mx.google.com with ESMTPS id j9sm6823229pav.15.2012.10.29.18.35.44 (version=TLSv1/SSLv3 cipher=OTHER); Mon, 29 Oct 2012 18:35:47 -0700 (PDT) From: Peter Crosthwaite To: qemu-devel@nongnu.org, peter.maydell@linaro.org, i.mitsyanko@samsung.com Date: Tue, 30 Oct 2012 11:35:23 +1000 Message-Id: <3a5f2293cfc74dcbb709672888bca90f22f9c76a.1351560671.git.peter.crosthwaite@xilinx.com> X-Mailer: git-send-email 1.7.0.4 In-Reply-To: References: In-Reply-To: References: X-Gm-Message-State: ALoCoQmnJSNBWRRGk4yLZXLLO9mEPKT/IRlFxyP3BQGixQVGeHdkctPmXqHT19hkGxqyujX178da X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 209.85.210.45 Cc: vineshp@xilinx.com, edgar.iglesias@gmail.com, Peter Crosthwaite , john.williams@xilinx.com, afaerber@suse.de Subject: [Qemu-devel] [PATCH v6 2/2] xilinx_zynq: added pl330 to machine model X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Signed-off-by: Peter Crosthwaite --- hw/xilinx_zynq.c | 24 ++++++++++++++++++++++++ 1 files changed, 24 insertions(+), 0 deletions(-) diff --git a/hw/xilinx_zynq.c b/hw/xilinx_zynq.c index c55dafb..e985e26 100644 --- a/hw/xilinx_zynq.c +++ b/hw/xilinx_zynq.c @@ -33,6 +33,10 @@ #define IRQ_OFFSET 32 /* pic interrupts start from index 32 */ +int dma_irqs[8] = { + 46, 47, 48, 49, 72, 73, 74, 75 +}; + static struct arm_boot_info zynq_binfo = {}; static void gem_init(NICInfo *nd, uint32_t base, qemu_irq irq) @@ -167,6 +171,26 @@ static void zynq_init(QEMUMachineInitArgs *args) } } + dev = qdev_create(NULL, "pl330"); + qdev_prop_set_uint8(dev, "num_chnls", 8); + qdev_prop_set_uint8(dev, "num_periph_req", 4); + qdev_prop_set_uint8(dev, "num_events", 16); + + qdev_prop_set_uint8(dev, "data_width", 64); + qdev_prop_set_uint8(dev, "wr_cap", 8); + qdev_prop_set_uint8(dev, "wr_q_dep", 16); + qdev_prop_set_uint8(dev, "rd_cap", 8); + qdev_prop_set_uint8(dev, "rd_q_dep", 16); + qdev_prop_set_uint16(dev, "data_buffer_dep", 256); + + qdev_init_nofail(dev); + busdev = sysbus_from_qdev(dev); + sysbus_mmio_map(busdev, 0, 0xF8003000); + sysbus_connect_irq(busdev, 0, pic[45-IRQ_OFFSET]); /* abort irq line */ + for (n = 0; n < 8; ++n) { /* event irqs */ + sysbus_connect_irq(busdev, n + 1, pic[dma_irqs[n] - IRQ_OFFSET]); + } + zynq_binfo.ram_size = ram_size; zynq_binfo.kernel_filename = kernel_filename; zynq_binfo.kernel_cmdline = kernel_cmdline;