From patchwork Wed Dec 5 07:07:20 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Crosthwaite X-Patchwork-Id: 203796 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 87A142C00C1 for ; Wed, 5 Dec 2012 18:07:31 +1100 (EST) Received: from localhost ([::1]:50781 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Tg94r-0002eL-AQ for incoming@patchwork.ozlabs.org; Wed, 05 Dec 2012 02:07:29 -0500 Received: from eggs.gnu.org ([208.118.235.92]:35625) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Tg94k-0002dy-ES for qemu-devel@nongnu.org; Wed, 05 Dec 2012 02:07:23 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Tg94j-0006Bc-A5 for qemu-devel@nongnu.org; Wed, 05 Dec 2012 02:07:22 -0500 Received: from mail-vc0-f173.google.com ([209.85.220.173]:48459) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Tg94j-0006BV-5k for qemu-devel@nongnu.org; Wed, 05 Dec 2012 02:07:21 -0500 Received: by mail-vc0-f173.google.com with SMTP id f13so3910408vcb.4 for ; Tue, 04 Dec 2012 23:07:20 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :x-gm-message-state; bh=fd28cZGZGw0mqKXudmDdFUmtKeqK+LlgtAj4H5252kY=; b=ExGvOxxB7AxT6UzTLq4qNr3/cutTHJkdulksWQ7goUKZsc8OyU1vfX+4+W++IA6GaU M+CboVO7cqoJNW38hoXL6V3rpL8ODRRdy4iSX2nM5N7+j21mZeouULdi7c6tw3J0xFPS Cktp4g2mszysa8OGHlYGZdxlv+Dj7aLvJzVAMKkKKjts81CZieC4MugkAb30n5XpOdte fIe582N6XaGSbNkrQ7It28d2OLrPHX37Z/EQ8QE94albMKTDteILml1YyW1xPMq4oteJ LdCkR9V+VcKhzSzv48IKca45Ghc636cEntw4DIJ1oY7Cf6AT0NApL4Yz0gQx6dVQ3ocy fbhw== MIME-Version: 1.0 Received: by 10.220.149.142 with SMTP id t14mr14231937vcv.46.1354691240602; Tue, 04 Dec 2012 23:07:20 -0800 (PST) Received: by 10.58.102.135 with HTTP; Tue, 4 Dec 2012 23:07:20 -0800 (PST) In-Reply-To: <50BDB121.4090209@redhat.com> References: <1354153398-13569-1-git-send-email-peter.crosthwaite@xilinx.com> <20121129020041.GB3127@walimis-DELL> <20121203120309.GD6029@pek-lwang0-d1> <50BCA034.2090301@redhat.com> <20121203145020.GF6029@pek-lwang0-d1> <50BDB121.4090209@redhat.com> Date: Wed, 5 Dec 2012 17:07:20 +1000 X-Google-Sender-Auth: bdzOl11FpbFlt5N6IYYRA9uXvS4 Message-ID: From: Peter Crosthwaite To: Gerd Hoffmann X-Gm-Message-State: ALoCoQnqmEZes0wr1tmoknYjYCjBMlJFzFQrJj23/vI0EVoT8flrNgsTMXY3tXjgJKxXpuzKpAnx X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [fuzzy] X-Received-From: 209.85.220.173 Cc: walimis , david.holsgrove@xilinx.com, john.williams@xilinx.com, qemu-devel@nongnu.org, Peter Maydell Subject: Re: [Qemu-devel] [PATCH 1.3] ehci-sysbus: Attach DMA context. 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 Hi Gerd, Liming, On Tue, Dec 4, 2012 at 6:15 PM, Gerd Hoffmann wrote: > Hi, > >> Gerd, >> >> Is there any documentation out there on how to tell QEMU on command >> line which EHCI you want your usb-storage to attach to? > > docs/usb2.txt has some examples, although those are pc-centric where the > ehci is created on the command line. The problem with zynx is that both > ehci controllers get the same (default) name so picking one by name > doesn't work. > > Guess we haver to figure a way to explicitly name those devices (so the > busses are named too), especially in case a board has two identical > ones. Maybe sysbus_create_simple needs an additional argument or a > sysbus_create_simple_with_id variant. > Ive taken a more manual approach and just used the manual qdev_create() flow first to get up and running: We can probably now think about a more palatable way to do this, perhaps your sysbus_create_simple_id() approach. Regards, Peter > cheers, > Gerd > > --- a/hw/xilinx_zynq.c +++ b/hw/xilinx_zynq.c @@ -162,12 +162,28 @@ static void zynq_init(QEMUMachineInitArgs *args) pic[n] = qdev_get_gpio_in(dev, n); } + dev = qdev_create(NULL, "xlnx.ps7-usb"); + dev->id = "zynq-usb-0"; + qdev_init_nofail(dev); + busdev = sysbus_from_qdev(dev); + sysbus_mmio_map(busdev, 0, 0xE0002000); + sysbus_connect_irq(busdev, 0, pic[53-IRQ_OFFSET]); + + dev = qdev_create(NULL, "xlnx.ps7-usb"); + dev->id = "zynq-usb-1"; + busdev = sysbus_from_qdev(dev); + qdev_init_nofail(dev); + sysbus_mmio_map(busdev, 0, 0xE0003000); + sysbus_connect_irq(busdev, 0, pic[76-IRQ_OFFSET]); + zynq_init_spi_flashes(0xE0006000, pic[58-IRQ_OFFSET], false); zynq_init_spi_flashes(0xE0007000, pic[81-IRQ_OFFSET], false); zynq_init_spi_flashes(0xE000D000, pic[51-IRQ_OFFSET], true); +#if 0 sysbus_create_simple("xlnx,ps7-usb", 0xE0002000, pic[53-IRQ_OFFSET]); sysbus_create_simple("xlnx,ps7-usb", 0xE0003000, pic[76-IRQ_OFFSET]); +#endif This works and gives the two USBs different names, and I can attach to each on command lines using bus=zynq-usb-0.0 and bus=zynq-usb-0.1.