[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 02/24] stellaris_enet: convert to memory API
From: |
Avi Kivity |
Subject: |
[Qemu-devel] [PATCH 02/24] stellaris_enet: convert to memory API |
Date: |
Wed, 24 Aug 2011 13:11:01 +0300 |
Signed-off-by: Avi Kivity <address@hidden>
---
hw/stellaris_enet.c | 29 ++++++++++++-----------------
1 files changed, 12 insertions(+), 17 deletions(-)
diff --git a/hw/stellaris_enet.c b/hw/stellaris_enet.c
index f9bd3da..d5613ff 100644
--- a/hw/stellaris_enet.c
+++ b/hw/stellaris_enet.c
@@ -69,7 +69,7 @@ typedef struct {
NICState *nic;
NICConf conf;
qemu_irq irq;
- int mmio_index;
+ MemoryRegion mmio;
} stellaris_enet_state;
static void stellaris_enet_update(stellaris_enet_state *s)
@@ -130,7 +130,8 @@ static int stellaris_enet_can_receive(VLANClientState *nc)
return (s->np < 31);
}
-static uint32_t stellaris_enet_read(void *opaque, target_phys_addr_t offset)
+static uint64_t stellaris_enet_read(void *opaque, target_phys_addr_t offset,
+ unsigned size)
{
stellaris_enet_state *s = (stellaris_enet_state *)opaque;
uint32_t val;
@@ -198,7 +199,7 @@ static uint32_t stellaris_enet_read(void *opaque,
target_phys_addr_t offset)
}
static void stellaris_enet_write(void *opaque, target_phys_addr_t offset,
- uint32_t value)
+ uint64_t value, unsigned size)
{
stellaris_enet_state *s = (stellaris_enet_state *)opaque;
@@ -303,17 +304,12 @@ static void stellaris_enet_write(void *opaque,
target_phys_addr_t offset,
}
}
-static CPUReadMemoryFunc * const stellaris_enet_readfn[] = {
- stellaris_enet_read,
- stellaris_enet_read,
- stellaris_enet_read
+static const MemoryRegionOps stellaris_enet_ops = {
+ .read = stellaris_enet_read,
+ .write = stellaris_enet_write,
+ .endianness = DEVICE_NATIVE_ENDIAN,
};
-static CPUWriteMemoryFunc * const stellaris_enet_writefn[] = {
- stellaris_enet_write,
- stellaris_enet_write,
- stellaris_enet_write
-};
static void stellaris_enet_reset(stellaris_enet_state *s)
{
s->mdv = 0x80;
@@ -391,7 +387,7 @@ static void stellaris_enet_cleanup(VLANClientState *nc)
unregister_savevm(&s->busdev.qdev, "stellaris_enet", s);
- cpu_unregister_io_memory(s->mmio_index);
+ memory_region_destroy(&s->mmio);
g_free(s);
}
@@ -408,10 +404,9 @@ static int stellaris_enet_init(SysBusDevice *dev)
{
stellaris_enet_state *s = FROM_SYSBUS(stellaris_enet_state, dev);
- s->mmio_index = cpu_register_io_memory(stellaris_enet_readfn,
- stellaris_enet_writefn, s,
- DEVICE_NATIVE_ENDIAN);
- sysbus_init_mmio(dev, 0x1000, s->mmio_index);
+ memory_region_init_io(&s->mmio, &stellaris_enet_ops, s, "stellaris_enet",
+ 0x1000);
+ sysbus_init_mmio_region(dev, &s->mmio);
sysbus_init_irq(dev, &s->irq);
qemu_macaddr_default_if_unset(&s->conf.macaddr);
--
1.7.5.3
- [Qemu-devel] [PATCH 00/24] Memory API conversions, batch 5, Avi Kivity, 2011/08/24
- [Qemu-devel] [PATCH 01/24] arm_sysctl: convert to memory API, Avi Kivity, 2011/08/24
- [Qemu-devel] [PATCH 05/24] ReadWriteHandler: remove, Avi Kivity, 2011/08/24
- [Qemu-devel] [PATCH 14/24] piix_pci: wrap memory update in a transaction, Avi Kivity, 2011/08/24
- [Qemu-devel] [PATCH 09/24] axis_dev88: convert to memory API (RAM only), Avi Kivity, 2011/08/24
- [Qemu-devel] [PATCH 23/24] milkymist-softusb: convert to memory API, Avi Kivity, 2011/08/24
- [Qemu-devel] [PATCH 02/24] stellaris_enet: convert to memory API,
Avi Kivity <=
- [Qemu-devel] [PATCH 19/24] lm32_boards: convert to memory API, Avi Kivity, 2011/08/24
- [Qemu-devel] [PATCH 08/24] armv7m: convert to memory API, Avi Kivity, 2011/08/24
- [Qemu-devel] [PATCH 17/24] dummy_m68k: convert to memory API, Avi Kivity, 2011/08/24
- [Qemu-devel] [PATCH 10/24] sysbus: add sysbus_add_memory_overlap(), Avi Kivity, 2011/08/24
- [Qemu-devel] [PATCH 11/24] integratorcp: convert to memory API (RAM/flash only), Avi Kivity, 2011/08/24
- [Qemu-devel] [PATCH 20/24] mainstone: convert to memory API, Avi Kivity, 2011/08/24
- [Qemu-devel] [PATCH 18/24] g364fb: convert to memory API, Avi Kivity, 2011/08/24
- [Qemu-devel] [PATCH 21/24] mcf5208: convert to memory API, Avi Kivity, 2011/08/24