From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:51719) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QpMLS-00048x-Hr for qemu-devel@nongnu.org; Fri, 05 Aug 2011 11:29:55 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QpMLR-0000Gw-DK for qemu-devel@nongnu.org; Fri, 05 Aug 2011 11:29:54 -0400 Received: from mail-gy0-f173.google.com ([209.85.160.173]:61407) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QpMLR-0000Gr-8e for qemu-devel@nongnu.org; Fri, 05 Aug 2011 11:29:53 -0400 Received: by gyd12 with SMTP id 12so959014gyd.4 for ; Fri, 05 Aug 2011 08:29:52 -0700 (PDT) Message-ID: <4E3C0C6D.6050202@codemonkey.ws> Date: Fri, 05 Aug 2011 10:29:49 -0500 From: Anthony Liguori MIME-Version: 1.0 References: <1312463195-13605-1-git-send-email-avi@redhat.com> <1312463195-13605-29-git-send-email-avi@redhat.com> In-Reply-To: <1312463195-13605-29-git-send-email-avi@redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v3 28/39] isa-mmio: concert to memory API List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Avi Kivity Cc: qemu-devel@nongnu.org, kvm@vger.kernel.org, "Michael S. Tsirkin" On 08/04/2011 08:06 AM, Avi Kivity wrote: > Reviewed-by: Richard Henderson > Signed-off-by: Avi Kivity For the subject, s:concert:convert:g Otherwise, Reviewed-by: Anthony Liguori > --- > hw/isa.h | 2 ++ > hw/isa_mmio.c | 30 +++++++++++++++--------------- > 2 files changed, 17 insertions(+), 15 deletions(-) > > diff --git a/hw/isa.h b/hw/isa.h > index d2b6126..f1f2181 100644 > --- a/hw/isa.h > +++ b/hw/isa.h > @@ -4,6 +4,7 @@ > /* ISA bus */ > > #include "ioport.h" > +#include "memory.h" > #include "qdev.h" > > typedef struct ISABus ISABus; > @@ -37,6 +38,7 @@ ISADevice *isa_create_simple(const char *name); > > extern target_phys_addr_t isa_mem_base; > > +void isa_mmio_setup(MemoryRegion *mr, target_phys_addr_t size); > void isa_mmio_init(target_phys_addr_t base, target_phys_addr_t size); > > /* dma.c */ > diff --git a/hw/isa_mmio.c b/hw/isa_mmio.c > index ca957fb..600225f 100644 > --- a/hw/isa_mmio.c > +++ b/hw/isa_mmio.c > @@ -58,25 +58,25 @@ static uint32_t isa_mmio_readl(void *opaque, target_phys_addr_t addr) > return cpu_inl(addr& IOPORTS_MASK); > } > > -static CPUWriteMemoryFunc * const isa_mmio_write[] = { > -&isa_mmio_writeb, > -&isa_mmio_writew, > -&isa_mmio_writel, > +static const MemoryRegionOps isa_mmio_ops = { > + .old_mmio = { > + .write = { isa_mmio_writeb, isa_mmio_writew, isa_mmio_writel }, > + .read = { isa_mmio_readb, isa_mmio_readw, isa_mmio_readl, }, > + }, > + .endianness = DEVICE_LITTLE_ENDIAN, > }; > > -static CPUReadMemoryFunc * const isa_mmio_read[] = { > -&isa_mmio_readb, > -&isa_mmio_readw, > -&isa_mmio_readl, > -}; > +void isa_mmio_setup(MemoryRegion *mr, target_phys_addr_t size) > +{ > + memory_region_init_io(mr,&isa_mmio_ops, NULL, "isa-mmio", size); > +} > + > +#include "exec-memory.h" > > void isa_mmio_init(target_phys_addr_t base, target_phys_addr_t size) > { > - int isa_mmio_iomemtype; > + MemoryRegion *mr = qemu_malloc(sizeof(*mr)); > > - isa_mmio_iomemtype = cpu_register_io_memory(isa_mmio_read, > - isa_mmio_write, > - NULL, > - DEVICE_LITTLE_ENDIAN); > - cpu_register_physical_memory(base, size, isa_mmio_iomemtype); > + isa_mmio_setup(mr, size); > + memory_region_add_subregion(get_system_memory(), base, mr); > }