From patchwork Fri Feb 8 03:42:51 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Crosthwaite X-Patchwork-Id: 219037 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 495952C0089 for ; Fri, 8 Feb 2013 14:58:35 +1100 (EST) Received: from localhost ([::1]:43219 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1U3eu1-00074U-En for incoming@patchwork.ozlabs.org; Thu, 07 Feb 2013 22:45:29 -0500 Received: from eggs.gnu.org ([208.118.235.92]:55252) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1U3eto-00073n-Tj for qemu-devel@nongnu.org; Thu, 07 Feb 2013 22:45:18 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1U3erq-00082L-0S for qemu-devel@nongnu.org; Thu, 07 Feb 2013 22:43:18 -0500 Received: from tx2ehsobe004.messaging.microsoft.com ([65.55.88.14]:32720 helo=tx2outboundpool.messaging.microsoft.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1U3erp-000826-P7 for qemu-devel@nongnu.org; Thu, 07 Feb 2013 22:43:13 -0500 Received: from mail112-tx2-R.bigfish.com (10.9.14.245) by TX2EHSOBE002.bigfish.com (10.9.40.22) with Microsoft SMTP Server id 14.1.225.23; Fri, 8 Feb 2013 03:43:13 +0000 Received: from mail112-tx2 (localhost [127.0.0.1]) by mail112-tx2-R.bigfish.com (Postfix) with ESMTP id EC88812022D; Fri, 8 Feb 2013 03:43:12 +0000 (UTC) X-Forefront-Antispam-Report: CIP:149.199.60.83; KIP:(null); UIP:(null); IPV:NLI; H:xsj-gw1; RD:unknown-60-83.xilinx.com; EFVD:NLI X-SpamScore: 1 X-BigFish: VPS1(zzzz1f42h1ee6h1de0h1202h1e76h1d1ah1d2ahzz8275bhz2fh95h668h839hd24hf0ah119dh1288h12a5h12a9h12bdh12e5h137ah139eh13b6h1441h14ddh1504h1537h162dh1631h1758h1898h18e1h1946h19b5h906i1155h) Received-SPF: pass (mail112-tx2: domain of xilinx.com designates 149.199.60.83 as permitted sender) client-ip=149.199.60.83; envelope-from=peter.crosthwaite@xilinx.com; helo=xsj-gw1 ; helo=xsj-gw1 ; Received: from mail112-tx2 (localhost.localdomain [127.0.0.1]) by mail112-tx2 (MessageSwitch) id 1360294991226264_15429; Fri, 8 Feb 2013 03:43:11 +0000 (UTC) Received: from TX2EHSMHS008.bigfish.com (unknown [10.9.14.244]) by mail112-tx2.bigfish.com (Postfix) with ESMTP id 312EB320057; Fri, 8 Feb 2013 03:43:11 +0000 (UTC) Received: from xsj-gw1 (149.199.60.83) by TX2EHSMHS008.bigfish.com (10.9.99.108) with Microsoft SMTP Server id 14.1.225.23; Fri, 8 Feb 2013 03:43:10 +0000 Received: from unknown-38-66.xilinx.com ([149.199.38.66] helo=xsj-smtp1.xilinx.com) by xsj-gw1 with esmtp (Exim 4.63) (envelope-from ) id 1U3erm-0004HX-ME; Thu, 07 Feb 2013 19:43:10 -0800 From: Peter Crosthwaite To: Date: Fri, 8 Feb 2013 13:42:51 +1000 X-Mailer: git-send-email 1.7.0.4 In-Reply-To: References: X-RCIS-Action: ALLOW MIME-Version: 1.0 Message-ID: X-OriginatorOrg: xilinx.com X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 X-Received-From: 65.55.88.14 Cc: vineshp@xilinx.com, peter.maydell@linaro.org, aliguori@us.ibm.com, i.mitsyanko@samsung.com, stefanha@gmail.com, Peter Crosthwaite , jues@xilinx.com, edgar.iglesias@gmail.com, afaerber@suse.de Subject: [Qemu-devel] [PATCH v9 3/3] 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 0ac33b5..f826bff 100644 --- a/hw/xilinx_zynq.c +++ b/hw/xilinx_zynq.c @@ -35,6 +35,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) @@ -187,6 +191,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 = SYS_BUS_DEVICE(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;