[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-ppc] [PATCH 05/14] m48t59: convert PIO to new memory api read/writ
From: |
Alexander Graf |
Subject: |
[Qemu-ppc] [PATCH 05/14] m48t59: convert PIO to new memory api read/write |
Date: |
Mon, 8 Oct 2012 14:23:44 +0200 |
Signed-off-by: Alexander Graf <address@hidden>
---
hw/m48t59.c | 24 ++++++++++++++----------
1 files changed, 14 insertions(+), 10 deletions(-)
diff --git a/hw/m48t59.c b/hw/m48t59.c
index dd6cb37..389f6c9 100644
--- a/hw/m48t59.c
+++ b/hw/m48t59.c
@@ -27,6 +27,7 @@
#include "sysemu.h"
#include "sysbus.h"
#include "isa.h"
+#include "exec-memory.h"
//#define DEBUG_NVRAM
@@ -80,6 +81,7 @@ typedef struct M48t59ISAState {
typedef struct M48t59SysBusState {
SysBusDevice busdev;
M48t59State state;
+ MemoryRegion io;
} M48t59SysBusState;
/* Fake timer functions */
@@ -481,7 +483,8 @@ void m48t59_toggle_lock (void *opaque, int lock)
}
/* IO access to NVRAM */
-static void NVRAM_writeb (void *opaque, uint32_t addr, uint32_t val)
+static void NVRAM_writeb(void *opaque, target_phys_addr_t addr, uint64_t val,
+ unsigned size)
{
M48t59State *NVRAM = opaque;
@@ -504,7 +507,7 @@ static void NVRAM_writeb (void *opaque, uint32_t addr,
uint32_t val)
}
}
-static uint32_t NVRAM_readb (void *opaque, uint32_t addr)
+static uint64_t NVRAM_readb(void *opaque, target_phys_addr_t addr, unsigned
size)
{
M48t59State *NVRAM = opaque;
uint32_t retval;
@@ -626,13 +629,14 @@ static void m48t59_reset_sysbus(DeviceState *d)
m48t59_reset_common(NVRAM);
}
-static const MemoryRegionPortio m48t59_portio[] = {
- {0, 4, 1, .read = NVRAM_readb, .write = NVRAM_writeb },
- PORTIO_END_OF_LIST(),
-};
-
static const MemoryRegionOps m48t59_io_ops = {
- .old_portio = m48t59_portio,
+ .read = NVRAM_readb,
+ .write = NVRAM_writeb,
+ .impl = {
+ .min_access_size = 1,
+ .max_access_size = 1,
+ },
+ .endianness = DEVICE_LITTLE_ENDIAN,
};
/* Initialisation routine */
@@ -653,9 +657,9 @@ M48t59State *m48t59_init(qemu_irq IRQ, target_phys_addr_t
mem_base,
d = FROM_SYSBUS(M48t59SysBusState, s);
state = &d->state;
sysbus_connect_irq(s, 0, IRQ);
+ memory_region_init_io(&d->io, &m48t59_io_ops, state, "m48t59", 4);
if (io_base != 0) {
- register_ioport_read(io_base, 0x04, 1, NVRAM_readb, state);
- register_ioport_write(io_base, 0x04, 1, NVRAM_writeb, state);
+ memory_region_add_subregion(get_system_io(), io_base, &d->io);
}
if (mem_base != 0) {
sysbus_mmio_map(s, 0, mem_base);
--
1.6.0.2
- [Qemu-ppc] [PATCH 00/14] Remove old_portio users for memory region PIO mapping, Alexander Graf, 2012/10/08
- [Qemu-ppc] [PATCH 06/14] mc146818rtc: convert PIO to new memory api read/write, Alexander Graf, 2012/10/08
- [Qemu-ppc] [PATCH 08/14] pckbd: convert PIO to new memory api read/write, Alexander Graf, 2012/10/08
- [Qemu-ppc] [PATCH 04/14] i8254: convert PIO to new memory api read/write, Alexander Graf, 2012/10/08
- [Qemu-ppc] [PATCH 05/14] m48t59: convert PIO to new memory api read/write,
Alexander Graf <=
- [Qemu-ppc] [PATCH 09/14] rtl8139: convert PIO to new memory api read/write, Alexander Graf, 2012/10/08
- [Qemu-ppc] [PATCH 01/14] ac97: convert PIO to new memory api read/write, Alexander Graf, 2012/10/08
- [Qemu-ppc] [PATCH 02/14] virtio-pci: convert PIO to new memory api read/write, Alexander Graf, 2012/10/08
- [Qemu-ppc] [PATCH 03/14] es1370: convert PIO to new memory api read/write, Alexander Graf, 2012/10/08
- [Qemu-ppc] [PATCH 12/14] xen_platform: convert PIO to new memory api read/write, Alexander Graf, 2012/10/08
- [Qemu-ppc] [PATCH 14/14] PPC: pseries: Remove hack for PIO window, Alexander Graf, 2012/10/08
- [Qemu-ppc] [PATCH 10/14] serial: convert PIO to new memory api read/write, Alexander Graf, 2012/10/08
- [Qemu-ppc] [PATCH 11/14] vmport: convert PIO to new memory api read/write, Alexander Graf, 2012/10/08
- [Qemu-ppc] [PATCH 13/14] PPC: e500: Map PIO space into core memory region, Alexander Graf, 2012/10/08