From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:53127) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QP0Tx-0004sJ-DL for qemu-devel@nongnu.org; Tue, 24 May 2011 18:53:46 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QP0Tw-0004Tg-9z for qemu-devel@nongnu.org; Tue, 24 May 2011 18:53:45 -0400 Received: from ozlabs.org ([203.10.76.45]:55475) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QP0Tv-0004TT-U6 for qemu-devel@nongnu.org; Tue, 24 May 2011 18:53:44 -0400 Date: Wed, 25 May 2011 08:14:41 +1000 From: David Gibson Message-ID: <20110524221441.GB11809@yookeroo.fritz.box> References: <1306237507-19189-1-git-send-email-pbonzini@redhat.com> <1306237507-19189-4-git-send-email-pbonzini@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1306237507-19189-4-git-send-email-pbonzini@redhat.com> Subject: Re: [Qemu-devel] [PATCH 3/3] spapr: make irq customizable via qdev List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: qemu-devel@nongnu.org, agraf@suse.de On Tue, May 24, 2011 at 01:45:07PM +0200, Paolo Bonzini wrote: > Signed-off-by: Paolo Bonzini > Cc: Alexander Graf > Cc: David Gibson > --- > hw/spapr_vio.c | 8 +++++++- > 1 files changed, 7 insertions(+), 1 deletions(-) > > diff --git a/hw/spapr_vio.c b/hw/spapr_vio.c > index be535d6..fee4c46 100644 > --- a/hw/spapr_vio.c > +++ b/hw/spapr_vio.c > @@ -52,6 +52,10 @@ > static struct BusInfo spapr_vio_bus_info = { > .name = "spapr-vio", > .size = sizeof(VIOsPAPRBus), > + .props = (Property[]) { > + DEFINE_PROP_UINT32("irq", VIOsPAPRDevice, vio_irq_num, 0), \ > + DEFINE_PROP_END_OF_LIST(), > + }, > }; I don't see what the point of this is. Absolute irq numbers have no special meaning in the XICS context, and the guest kernel will remap them to virtual irqs anyway. > VIOsPAPRDevice *spapr_vio_find_by_reg(VIOsPAPRBus *bus, uint32_t reg) > @@ -604,7 +608,9 @@ static int spapr_vio_busdev_init(DeviceState *qdev, DeviceInfo *qinfo) > } > > dev->qdev.id = id; > - dev->vio_irq_num = bus->irq++; > + if (!dev->vio_irq_num) { > + dev->vio_irq_num = bus->irq++; > + } > dev->qirq = xics_find_qirq(spapr->icp, dev->vio_irq_num); > > rtce_init(dev); -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson