[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 13/22] m48t59: convert PIO to new memory api read/wr
From: |
Alexander Graf |
Subject: |
[Qemu-devel] [PATCH 13/22] m48t59: convert PIO to new memory api read/write |
Date: |
Mon, 29 Oct 2012 11:26:02 +0100 |
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 9eb1a09..9e8e692 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, hwaddr 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, hwaddr 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, hwaddr 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
- Re: [Qemu-devel] [PATCH 01/22] Remove TARGET_PHYS_ADDR_BITS define completely, (continued)
- [Qemu-devel] [PATCH 02/22] PPC: Bamboo: Fix memory size DT property, Alexander Graf, 2012/10/29
- [Qemu-devel] [PATCH 07/22] target-ppc: Rework storage of VPA registration state, Alexander Graf, 2012/10/29
- [Qemu-devel] [PATCH 17/22] rtl8139: convert PIO to new memory api read/write, Alexander Graf, 2012/10/29
- [Qemu-devel] [PATCH 10/22] virtio-pci: convert PIO to new memory api read/write, Alexander Graf, 2012/10/29
- [Qemu-devel] [PATCH 03/22] PPC: 440: Emulate DCBR0, Alexander Graf, 2012/10/29
- [Qemu-devel] [PATCH 05/22] Add USB option in machine options, Alexander Graf, 2012/10/29
- [Qemu-devel] [PATCH 11/22] es1370: convert PIO to new memory api read/write, Alexander Graf, 2012/10/29
- [Qemu-devel] [PATCH 04/22] e500: Fix serial initialization, Alexander Graf, 2012/10/29
- [Qemu-devel] [PATCH 06/22] pseries: Don't allow duplicate registration of hcalls or RTAS calls, Alexander Graf, 2012/10/29
- [Qemu-devel] [PATCH 13/22] m48t59: convert PIO to new memory api read/write,
Alexander Graf <=
- [Qemu-devel] [PATCH 09/22] ac97: convert PIO to new memory api read/write, Alexander Graf, 2012/10/29
- [Qemu-devel] [PATCH 12/22] i8254: convert PIO to new memory api read/write, Alexander Graf, 2012/10/29
- [Qemu-devel] [PATCH 08/22] pseries: Implement qemu initiated shutdowns using EPOW events, Alexander Graf, 2012/10/29
- [Qemu-devel] [PATCH 22/22] PPC: pseries: Remove hack for PIO window, Alexander Graf, 2012/10/29
- [Qemu-devel] [PATCH 14/22] mc146818rtc: convert PIO to new memory api read/write, Alexander Graf, 2012/10/29
- [Qemu-devel] [PATCH 20/22] xen_platform: convert PIO to new memory api read/write, Alexander Graf, 2012/10/29
- [Qemu-devel] [PATCH 18/22] serial: convert PIO to new memory api read/write, Alexander Graf, 2012/10/29
- [Qemu-devel] [PATCH 21/22] PPC: e500: Map PIO space into core memory region, Alexander Graf, 2012/10/29
- [Qemu-devel] [PATCH 15/22] pc port92: convert PIO to new memory api read/write, Alexander Graf, 2012/10/29
- [Qemu-devel] [PATCH 16/22] pckbd: convert PIO to new memory api read/write, Alexander Graf, 2012/10/29