From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NeyqC-0001cj-58 for qemu-devel@nongnu.org; Tue, 09 Feb 2010 17:45:56 -0500 Received: from [199.232.76.173] (port=53804 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NeyqB-0001cR-Nk for qemu-devel@nongnu.org; Tue, 09 Feb 2010 17:45:55 -0500 Received: from Debian-exim by monty-python.gnu.org with spam-scanned (Exim 4.60) (envelope-from ) id 1NeyqA-0001mI-9v for qemu-devel@nongnu.org; Tue, 09 Feb 2010 17:45:55 -0500 Received: from fe01x03-cgp.akado.ru ([77.232.31.164]:57834 helo=akado.ru) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Neyq9-0001mE-TR for qemu-devel@nongnu.org; Tue, 09 Feb 2010 17:45:54 -0500 Date: Wed, 10 Feb 2010 01:45:52 +0300 (MSK) From: malc Subject: Re: [Qemu-devel] [PATCH 07/15] ac97: convert to new PCI API In-Reply-To: <1265752899-26980-8-git-send-email-aliguori@us.ibm.com> Message-ID: References: <1265752899-26980-1-git-send-email-aliguori@us.ibm.com> <1265752899-26980-8-git-send-email-aliguori@us.ibm.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: Michael Tsirkin , qemu-devel@nongnu.org, Alex Graf On Tue, 9 Feb 2010, Anthony Liguori wrote: > - fixed bug with size of registered ioport regions > > Signed-off-by: Anthony Liguori > --- > hw/ac97.c | 146 +++++++++++++++++++++++++------------------------------------ > 1 files changed, 60 insertions(+), 86 deletions(-) > > diff --git a/hw/ac97.c b/hw/ac97.c > index 4319bc8..9fdf591 100644 > --- a/hw/ac97.c > +++ b/hw/ac97.c > @@ -223,7 +223,7 @@ static void fetch_bd (AC97LinkState *s, AC97BusMasterRegs *r) > { > uint8_t b[8]; > > - cpu_physical_memory_read (r->bdbar + r->civ * 8, b, 8); > + pci_memory_read (&s->dev, r->bdbar + r->civ * 8, b, 8); > r->bd_valid = 1; > r->bd.addr = le32_to_cpu (*(uint32_t *) &b[0]) & ~3; > r->bd.ctl_len = le32_to_cpu (*(uint32_t *) &b[4]); > @@ -569,50 +569,35 @@ static void mixer_reset (AC97LinkState *s) > > /** > * Native audio mixer > - * I/O Reads > */ > -static uint32_t nam_readb (void *opaque, uint32_t addr) > -{ > - AC97LinkState *s = opaque; > - dolog ("U nam readb %#x\n", addr); > - s->cas = 0; > - return ~0U; > -} > > -static uint32_t nam_readw (void *opaque, uint32_t addr) > +static uint32_t nam_read (PCIDevice *dev, pcibus_t addr, int size) > { > - AC97LinkState *s = opaque; > - uint32_t val = ~0U; > - uint32_t index = addr - s->base[0]; > - s->cas = 0; > - val = mixer_load (s, index); > - return val; > -} > + AC97LinkState *s = DO_UPCAST (AC97LinkState, dev, dev); > + uint32_t value; > + > + if (size == 2) { > + value = mixer_load (s, addr); > + } else { > + dolog ("U nam read[%d] %#" FMT_PCIBUS "\n", size, addr); > + s->cas = 0; > + value = ~0U; > + } > Yeah right, and then PCI SIG adds qword accessors and all hell breaks loose, this interface sucks.. [..snip..] -- mailto:av1474@comtv.ru