[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 06/17] jazz_led: convert to memory API
From: |
Avi Kivity |
Subject: |
[Qemu-devel] [PATCH 06/17] jazz_led: convert to memory API |
Date: |
Sun, 30 Oct 2011 16:33:43 +0200 |
Signed-off-by: Avi Kivity <address@hidden>
---
hw/jazz_led.c | 25 ++++++++++---------------
hw/mips.h | 4 +++-
hw/mips_jazz.c | 2 +-
3 files changed, 14 insertions(+), 17 deletions(-)
diff --git a/hw/jazz_led.c b/hw/jazz_led.c
index eb472a0..6fab334 100644
--- a/hw/jazz_led.c
+++ b/hw/jazz_led.c
@@ -43,6 +43,7 @@
} screen_state_t;
typedef struct LedState {
+ MemoryRegion iomem;
uint8_t segments;
DisplayState *ds;
screen_state_t state;
@@ -140,16 +141,12 @@ static void led_writel(void *opaque, target_phys_addr_t
addr, uint32_t val)
#endif
}
-static CPUReadMemoryFunc * const led_read[3] = {
- led_readb,
- led_readw,
- led_readl,
-};
-
-static CPUWriteMemoryFunc * const led_write[3] = {
- led_writeb,
- led_writew,
- led_writel,
+static const MemoryRegionOps led_ops = {
+ .old_mmio = {
+ .read = { led_readb, led_readw, led_readl, },
+ .write = { led_writeb, led_writew, led_writel, },
+ },
+ .endianness = DEVICE_NATIVE_ENDIAN,
};
/***********************************************************/
@@ -307,18 +304,16 @@ static void jazz_led_text_update(void *opaque,
console_ch_t *chardata)
dpy_update(s->ds, 0, 0, 2, 1);
}
-void jazz_led_init(target_phys_addr_t base)
+void jazz_led_init(MemoryRegion *address_space, target_phys_addr_t base)
{
LedState *s;
- int io;
s = g_malloc0(sizeof(LedState));
s->state = REDRAW_SEGMENTS | REDRAW_BACKGROUND;
- io = cpu_register_io_memory(led_read, led_write, s,
- DEVICE_NATIVE_ENDIAN);
- cpu_register_physical_memory(base, 1, io);
+ memory_region_init_io(&s->iomem, &led_ops, s, "led", 1);
+ memory_region_add_subregion(address_space, base, &s->iomem);
s->ds = graphic_console_init(jazz_led_update_display,
jazz_led_invalidate_display,
diff --git a/hw/mips.h b/hw/mips.h
index 6fa9a3a..0d4bf25 100644
--- a/hw/mips.h
+++ b/hw/mips.h
@@ -2,6 +2,8 @@
#define HW_MIPS_H
/* Definitions for mips board emulation. */
+#include "memory.h"
+
/* gt64xxx.c */
PCIBus *gt64120_register(qemu_irq *pic);
@@ -9,7 +11,7 @@ PCIBus *gt64120_register(qemu_irq *pic);
PCIBus *bonito_init(qemu_irq *pic);
/* jazz_led.c */
-void jazz_led_init(target_phys_addr_t base);
+void jazz_led_init(MemoryRegion *address_space, target_phys_addr_t base);
/* rc4030.c */
typedef struct rc4030DMAState *rc4030_dma;
diff --git a/hw/mips_jazz.c b/hw/mips_jazz.c
index 14beea2..6e657dd 100644
--- a/hw/mips_jazz.c
+++ b/hw/mips_jazz.c
@@ -287,7 +287,7 @@ static void mips_jazz_init(MemoryRegion *address_space,
sysbus_mmio_map(sysbus, 0, 0x80009000);
/* LED indicator */
- jazz_led_init(0x8000f000);
+ jazz_led_init(address_space, 0x8000f000);
}
static
--
1.7.6.3
- [Qemu-devel] [PATCH 00/17] Memory API conversions, batch 13, Avi Kivity, 2011/10/30
- [Qemu-devel] [PATCH 01/17] tosa: convert to memory API, Avi Kivity, 2011/10/30
- [Qemu-devel] [PATCH 02/17] versatilepb: convert to memory API, Avi Kivity, 2011/10/30
- [Qemu-devel] [PATCH 07/17] parallel: convert to memory API, Avi Kivity, 2011/10/30
- [Qemu-devel] [PATCH 05/17] shix: convert to memory API, Avi Kivity, 2011/10/30
- [Qemu-devel] [PATCH 08/17] zaurus: convert to memory API, Avi Kivity, 2011/10/30
- [Qemu-devel] [PATCH 09/17] pl011: convert to memory API, Avi Kivity, 2011/10/30
- [Qemu-devel] [PATCH 12/17] pl050: convert to memory API, Avi Kivity, 2011/10/30
- [Qemu-devel] [PATCH 03/17] vexpress: convert to memory API, Avi Kivity, 2011/10/30
- [Qemu-devel] [PATCH 04/17] virtex_ml507: convert to memory API, Avi Kivity, 2011/10/30
- [Qemu-devel] [PATCH 06/17] jazz_led: convert to memory API,
Avi Kivity <=
- [Qemu-devel] [PATCH 11/17] pl031: convert to memory API, Avi Kivity, 2011/10/30
- [Qemu-devel] [PATCH 10/17] pl022: convert to memory API, Avi Kivity, 2011/10/30
- [Qemu-devel] [PATCH 16/17] pl181: convert to memory API, Avi Kivity, 2011/10/30
- [Qemu-devel] [PATCH 17/17] pl190: convert to memory API, Avi Kivity, 2011/10/30
- [Qemu-devel] [PATCH 15/17] pl110: convert to memory API, Avi Kivity, 2011/10/30
- [Qemu-devel] [PATCH 13/17] pl061: convert to memory API, Avi Kivity, 2011/10/30
- [Qemu-devel] [PATCH 14/17] pl080: convert to memory API, Avi Kivity, 2011/10/30