All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] ioapic: Convert to memory API
@ 2011-10-16 17:21 Jan Kiszka
  2011-10-17 10:35 ` Avi Kivity
  0 siblings, 1 reply; 5+ messages in thread
From: Jan Kiszka @ 2011-10-16 17:21 UTC (permalink / raw)
  To: Avi Kivity; +Cc: qemu-devel

From: Jan Kiszka <jan.kiszka@siemens.com>

Dispatching byte and word accesses like dwords looks strange, but let's
just convert mechanically.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 hw/ioapic.c |   24 +++++++++---------------
 1 files changed, 9 insertions(+), 15 deletions(-)

diff --git a/hw/ioapic.c b/hw/ioapic.c
index 61991d7..5786b86 100644
--- a/hw/ioapic.c
+++ b/hw/ioapic.c
@@ -86,6 +86,7 @@ typedef struct IOAPICState IOAPICState;
 
 struct IOAPICState {
     SysBusDevice busdev;
+    MemoryRegion io_memory;
     uint8_t id;
     uint8_t ioregsel;
     uint32_t irr;
@@ -309,32 +310,25 @@ static void ioapic_reset(DeviceState *d)
     }
 }
 
-static CPUReadMemoryFunc * const ioapic_mem_read[3] = {
-    ioapic_mem_readl,
-    ioapic_mem_readl,
-    ioapic_mem_readl,
-};
-
-static CPUWriteMemoryFunc * const ioapic_mem_write[3] = {
-    ioapic_mem_writel,
-    ioapic_mem_writel,
-    ioapic_mem_writel,
+static const MemoryRegionOps ioapic_io_ops = {
+    .old_mmio = {
+        .read = { ioapic_mem_readl, ioapic_mem_readl, ioapic_mem_readl, },
+        .write = { ioapic_mem_writel, ioapic_mem_writel, ioapic_mem_writel, },
+    },
+    .endianness = DEVICE_NATIVE_ENDIAN,
 };
 
 static int ioapic_init1(SysBusDevice *dev)
 {
     IOAPICState *s = FROM_SYSBUS(IOAPICState, dev);
-    int io_memory;
     static int ioapic_no;
 
     if (ioapic_no >= MAX_IOAPICS) {
         return -1;
     }
 
-    io_memory = cpu_register_io_memory(ioapic_mem_read,
-                                       ioapic_mem_write, s,
-                                       DEVICE_NATIVE_ENDIAN);
-    sysbus_init_mmio(dev, 0x1000, io_memory);
+    memory_region_init_io(&s->io_memory, &ioapic_io_ops, s, "ioapic", 0x1000);
+    sysbus_init_mmio_region(dev, &s->io_memory);
 
     qdev_init_gpio_in(&dev->qdev, ioapic_set_irq, IOAPIC_NUM_PINS);
 
-- 
1.7.3.4

^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2011-10-17 14:57 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-10-16 17:21 [Qemu-devel] [PATCH] ioapic: Convert to memory API Jan Kiszka
2011-10-17 10:35 ` Avi Kivity
2011-10-17 11:11   ` [Qemu-devel] [PATCH v2 1/2] " Jan Kiszka
2011-10-17 14:57     ` Avi Kivity
2011-10-17 11:11   ` [Qemu-devel] [PATCH 2/2] ioapic: Reject non-dword accesses to IOWIN register Jan Kiszka

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.