* [Qemu-devel] [PATCH 0/9] Memory API conversion for milkymist models
@ 2011-08-31 14:48 Michael Walle
2011-08-31 14:48 ` [Qemu-devel] [PATCH 1/9] milkymist-ac97: convert to memory API Michael Walle
` (9 more replies)
0 siblings, 10 replies; 11+ messages in thread
From: Michael Walle @ 2011-08-31 14:48 UTC (permalink / raw)
To: qemu-devel; +Cc: Michael Walle, Avi Kivity
This patchset converts the remaining milkymist models to the new memory
API. Additionally, it fixes a minor naming issue.
This patches are againts avi's memory/master branch, for inclusion into his
memory queue.
Michael Walle (9):
milkymist-ac97: convert to memory API
milkymist-hpdmc: convert to memory API
milkymist-memcard: convert to memory API
milkymist-pfpu: convert to memory API
milkymist-sysctl: convert to memory API
milkymist-tmu2: convert to memory API
milkymist-uart: convert to memory API
milkymist-vgafb: convert to memory API
milkymist-{minimac2,softusb}: rename memory names
hw/milkymist-ac97.c | 32 ++++++++++++++++----------------
hw/milkymist-hpdmc.c | 32 ++++++++++++++++----------------
hw/milkymist-memcard.c | 32 ++++++++++++++++----------------
hw/milkymist-minimac2.c | 4 ++--
hw/milkymist-pfpu.c | 33 ++++++++++++++++-----------------
hw/milkymist-softusb.c | 4 ++--
hw/milkymist-sysctl.c | 32 ++++++++++++++++----------------
hw/milkymist-tmu2.c | 32 ++++++++++++++++----------------
hw/milkymist-uart.c | 33 +++++++++++++++++----------------
hw/milkymist-vgafb.c | 33 ++++++++++++++++-----------------
10 files changed, 133 insertions(+), 134 deletions(-)
--
1.7.2.5
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Qemu-devel] [PATCH 1/9] milkymist-ac97: convert to memory API
2011-08-31 14:48 [Qemu-devel] [PATCH 0/9] Memory API conversion for milkymist models Michael Walle
@ 2011-08-31 14:48 ` Michael Walle
2011-08-31 14:48 ` [Qemu-devel] [PATCH 2/9] milkymist-hpdmc: " Michael Walle
` (8 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: Michael Walle @ 2011-08-31 14:48 UTC (permalink / raw)
To: qemu-devel; +Cc: Michael Walle, Avi Kivity
Signed-off-by: Michael Walle <michael@walle.cc>
---
hw/milkymist-ac97.c | 32 ++++++++++++++++----------------
1 files changed, 16 insertions(+), 16 deletions(-)
diff --git a/hw/milkymist-ac97.c b/hw/milkymist-ac97.c
index 6104732..5c5ed27 100644
--- a/hw/milkymist-ac97.c
+++ b/hw/milkymist-ac97.c
@@ -53,6 +53,7 @@ enum {
struct MilkymistAC97State {
SysBusDevice busdev;
+ MemoryRegion regs_region;
QEMUSoundCard card;
SWVoiceIn *voice_in;
@@ -82,7 +83,8 @@ static void update_voices(MilkymistAC97State *s)
}
}
-static uint32_t ac97_read(void *opaque, target_phys_addr_t addr)
+static uint64_t ac97_read(void *opaque, target_phys_addr_t addr,
+ unsigned size)
{
MilkymistAC97State *s = opaque;
uint32_t r = 0;
@@ -113,7 +115,8 @@ static uint32_t ac97_read(void *opaque, target_phys_addr_t addr)
return r;
}
-static void ac97_write(void *opaque, target_phys_addr_t addr, uint32_t value)
+static void ac97_write(void *opaque, target_phys_addr_t addr, uint64_t value,
+ unsigned size)
{
MilkymistAC97State *s = opaque;
@@ -159,16 +162,14 @@ static void ac97_write(void *opaque, target_phys_addr_t addr, uint32_t value)
}
-static CPUReadMemoryFunc * const ac97_read_fn[] = {
- NULL,
- NULL,
- &ac97_read,
-};
-
-static CPUWriteMemoryFunc * const ac97_write_fn[] = {
- NULL,
- NULL,
- &ac97_write,
+static const MemoryRegionOps ac97_mmio_ops = {
+ .read = ac97_read,
+ .write = ac97_write,
+ .valid = {
+ .min_access_size = 4,
+ .max_access_size = 4,
+ },
+ .endianness = DEVICE_NATIVE_ENDIAN,
};
static void ac97_in_cb(void *opaque, int avail_b)
@@ -280,7 +281,6 @@ static int ac97_post_load(void *opaque, int version_id)
static int milkymist_ac97_init(SysBusDevice *dev)
{
MilkymistAC97State *s = FROM_SYSBUS(typeof(*s), dev);
- int ac97_regs;
struct audsettings as;
sysbus_init_irq(dev, &s->crrequest_irq);
@@ -300,9 +300,9 @@ static int milkymist_ac97_init(SysBusDevice *dev)
s->voice_out = AUD_open_out(&s->card, s->voice_out,
"mm_ac97.out", s, ac97_out_cb, &as);
- ac97_regs = cpu_register_io_memory(ac97_read_fn, ac97_write_fn, s,
- DEVICE_NATIVE_ENDIAN);
- sysbus_init_mmio(dev, R_MAX * 4, ac97_regs);
+ memory_region_init_io(&s->regs_region, &ac97_mmio_ops, s,
+ "milkymist-ac97", R_MAX * 4);
+ sysbus_init_mmio_region(dev, &s->regs_region);
return 0;
}
--
1.7.2.5
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [Qemu-devel] [PATCH 2/9] milkymist-hpdmc: convert to memory API
2011-08-31 14:48 [Qemu-devel] [PATCH 0/9] Memory API conversion for milkymist models Michael Walle
2011-08-31 14:48 ` [Qemu-devel] [PATCH 1/9] milkymist-ac97: convert to memory API Michael Walle
@ 2011-08-31 14:48 ` Michael Walle
2011-08-31 14:48 ` [Qemu-devel] [PATCH 3/9] milkymist-memcard: " Michael Walle
` (7 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: Michael Walle @ 2011-08-31 14:48 UTC (permalink / raw)
To: qemu-devel; +Cc: Michael Walle, Avi Kivity
Signed-off-by: Michael Walle <michael@walle.cc>
---
hw/milkymist-hpdmc.c | 32 ++++++++++++++++----------------
1 files changed, 16 insertions(+), 16 deletions(-)
diff --git a/hw/milkymist-hpdmc.c b/hw/milkymist-hpdmc.c
index c0962fb..17c840f 100644
--- a/hw/milkymist-hpdmc.c
+++ b/hw/milkymist-hpdmc.c
@@ -42,12 +42,14 @@ enum {
struct MilkymistHpdmcState {
SysBusDevice busdev;
+ MemoryRegion regs_region;
uint32_t regs[R_MAX];
};
typedef struct MilkymistHpdmcState MilkymistHpdmcState;
-static uint32_t hpdmc_read(void *opaque, target_phys_addr_t addr)
+static uint64_t hpdmc_read(void *opaque, target_phys_addr_t addr,
+ unsigned size)
{
MilkymistHpdmcState *s = opaque;
uint32_t r = 0;
@@ -72,7 +74,8 @@ static uint32_t hpdmc_read(void *opaque, target_phys_addr_t addr)
return r;
}
-static void hpdmc_write(void *opaque, target_phys_addr_t addr, uint32_t value)
+static void hpdmc_write(void *opaque, target_phys_addr_t addr, uint64_t value,
+ unsigned size)
{
MilkymistHpdmcState *s = opaque;
@@ -96,16 +99,14 @@ static void hpdmc_write(void *opaque, target_phys_addr_t addr, uint32_t value)
}
}
-static CPUReadMemoryFunc * const hpdmc_read_fn[] = {
- NULL,
- NULL,
- &hpdmc_read,
-};
-
-static CPUWriteMemoryFunc * const hpdmc_write_fn[] = {
- NULL,
- NULL,
- &hpdmc_write,
+static const MemoryRegionOps hpdmc_mmio_ops = {
+ .read = hpdmc_read,
+ .write = hpdmc_write,
+ .valid = {
+ .min_access_size = 4,
+ .max_access_size = 4,
+ },
+ .endianness = DEVICE_NATIVE_ENDIAN,
};
static void milkymist_hpdmc_reset(DeviceState *d)
@@ -125,11 +126,10 @@ static void milkymist_hpdmc_reset(DeviceState *d)
static int milkymist_hpdmc_init(SysBusDevice *dev)
{
MilkymistHpdmcState *s = FROM_SYSBUS(typeof(*s), dev);
- int hpdmc_regs;
- hpdmc_regs = cpu_register_io_memory(hpdmc_read_fn, hpdmc_write_fn, s,
- DEVICE_NATIVE_ENDIAN);
- sysbus_init_mmio(dev, R_MAX * 4, hpdmc_regs);
+ memory_region_init_io(&s->regs_region, &hpdmc_mmio_ops, s,
+ "milkymist-hpdmc", R_MAX * 4);
+ sysbus_init_mmio_region(dev, &s->regs_region);
return 0;
}
--
1.7.2.5
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [Qemu-devel] [PATCH 3/9] milkymist-memcard: convert to memory API
2011-08-31 14:48 [Qemu-devel] [PATCH 0/9] Memory API conversion for milkymist models Michael Walle
2011-08-31 14:48 ` [Qemu-devel] [PATCH 1/9] milkymist-ac97: convert to memory API Michael Walle
2011-08-31 14:48 ` [Qemu-devel] [PATCH 2/9] milkymist-hpdmc: " Michael Walle
@ 2011-08-31 14:48 ` Michael Walle
2011-08-31 14:48 ` [Qemu-devel] [PATCH 4/9] milkymist-pfpu: " Michael Walle
` (6 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: Michael Walle @ 2011-08-31 14:48 UTC (permalink / raw)
To: qemu-devel; +Cc: Michael Walle, Avi Kivity
Signed-off-by: Michael Walle <michael@walle.cc>
---
hw/milkymist-memcard.c | 32 ++++++++++++++++----------------
1 files changed, 16 insertions(+), 16 deletions(-)
diff --git a/hw/milkymist-memcard.c b/hw/milkymist-memcard.c
index 22dc377..fb6e558 100644
--- a/hw/milkymist-memcard.c
+++ b/hw/milkymist-memcard.c
@@ -60,6 +60,7 @@ enum {
struct MilkymistMemcardState {
SysBusDevice busdev;
+ MemoryRegion regs_region;
SDState *card;
int command_write_ptr;
@@ -116,7 +117,8 @@ static void memcard_sd_command(MilkymistMemcardState *s)
}
}
-static uint32_t memcard_read(void *opaque, target_phys_addr_t addr)
+static uint64_t memcard_read(void *opaque, target_phys_addr_t addr,
+ unsigned size)
{
MilkymistMemcardState *s = opaque;
uint32_t r = 0;
@@ -164,7 +166,8 @@ static uint32_t memcard_read(void *opaque, target_phys_addr_t addr)
return r;
}
-static void memcard_write(void *opaque, target_phys_addr_t addr, uint32_t value)
+static void memcard_write(void *opaque, target_phys_addr_t addr, uint64_t value,
+ unsigned size)
{
MilkymistMemcardState *s = opaque;
@@ -216,16 +219,14 @@ static void memcard_write(void *opaque, target_phys_addr_t addr, uint32_t value)
}
}
-static CPUReadMemoryFunc * const memcard_read_fn[] = {
- NULL,
- NULL,
- &memcard_read,
-};
-
-static CPUWriteMemoryFunc * const memcard_write_fn[] = {
- NULL,
- NULL,
- &memcard_write,
+static const MemoryRegionOps memcard_mmio_ops = {
+ .read = memcard_read,
+ .write = memcard_write,
+ .valid = {
+ .min_access_size = 4,
+ .max_access_size = 4,
+ },
+ .endianness = DEVICE_NATIVE_ENDIAN,
};
static void milkymist_memcard_reset(DeviceState *d)
@@ -247,15 +248,14 @@ static int milkymist_memcard_init(SysBusDevice *dev)
{
MilkymistMemcardState *s = FROM_SYSBUS(typeof(*s), dev);
DriveInfo *dinfo;
- int memcard_regs;
dinfo = drive_get_next(IF_SD);
s->card = sd_init(dinfo ? dinfo->bdrv : NULL, 0);
s->enabled = dinfo ? bdrv_is_inserted(dinfo->bdrv) : 0;
- memcard_regs = cpu_register_io_memory(memcard_read_fn, memcard_write_fn, s,
- DEVICE_NATIVE_ENDIAN);
- sysbus_init_mmio(dev, R_MAX * 4, memcard_regs);
+ memory_region_init_io(&s->regs_region, &memcard_mmio_ops, s,
+ "milkymist-memcard", R_MAX * 4);
+ sysbus_init_mmio_region(dev, &s->regs_region);
return 0;
}
--
1.7.2.5
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [Qemu-devel] [PATCH 4/9] milkymist-pfpu: convert to memory API
2011-08-31 14:48 [Qemu-devel] [PATCH 0/9] Memory API conversion for milkymist models Michael Walle
` (2 preceding siblings ...)
2011-08-31 14:48 ` [Qemu-devel] [PATCH 3/9] milkymist-memcard: " Michael Walle
@ 2011-08-31 14:48 ` Michael Walle
2011-08-31 14:48 ` [Qemu-devel] [PATCH 5/9] milkymist-sysctl: " Michael Walle
` (5 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: Michael Walle @ 2011-08-31 14:48 UTC (permalink / raw)
To: qemu-devel; +Cc: Michael Walle, Avi Kivity
Signed-off-by: Michael Walle <michael@walle.cc>
---
hw/milkymist-pfpu.c | 33 ++++++++++++++++-----------------
1 files changed, 16 insertions(+), 17 deletions(-)
diff --git a/hw/milkymist-pfpu.c b/hw/milkymist-pfpu.c
index 306d1ce..672f6e4 100644
--- a/hw/milkymist-pfpu.c
+++ b/hw/milkymist-pfpu.c
@@ -118,6 +118,7 @@ static const char *opcode_to_str[] = {
struct MilkymistPFPUState {
SysBusDevice busdev;
+ MemoryRegion regs_region;
CharDriverState *chr;
qemu_irq irq;
@@ -379,7 +380,8 @@ static inline int get_microcode_address(MilkymistPFPUState *s, uint32_t addr)
return (512 * s->regs[R_CODEPAGE]) + addr - MICROCODE_BEGIN;
}
-static uint32_t pfpu_read(void *opaque, target_phys_addr_t addr)
+static uint64_t pfpu_read(void *opaque, target_phys_addr_t addr,
+ unsigned size)
{
MilkymistPFPUState *s = opaque;
uint32_t r = 0;
@@ -418,8 +420,8 @@ static uint32_t pfpu_read(void *opaque, target_phys_addr_t addr)
return r;
}
-static void
-pfpu_write(void *opaque, target_phys_addr_t addr, uint32_t value)
+static void pfpu_write(void *opaque, target_phys_addr_t addr, uint64_t value,
+ unsigned size)
{
MilkymistPFPUState *s = opaque;
@@ -459,16 +461,14 @@ pfpu_write(void *opaque, target_phys_addr_t addr, uint32_t value)
}
}
-static CPUReadMemoryFunc * const pfpu_read_fn[] = {
- NULL,
- NULL,
- &pfpu_read,
-};
-
-static CPUWriteMemoryFunc * const pfpu_write_fn[] = {
- NULL,
- NULL,
- &pfpu_write,
+static const MemoryRegionOps pfpu_mmio_ops = {
+ .read = pfpu_read,
+ .write = pfpu_write,
+ .valid = {
+ .min_access_size = 4,
+ .max_access_size = 4,
+ },
+ .endianness = DEVICE_NATIVE_ENDIAN,
};
static void milkymist_pfpu_reset(DeviceState *d)
@@ -494,13 +494,12 @@ static void milkymist_pfpu_reset(DeviceState *d)
static int milkymist_pfpu_init(SysBusDevice *dev)
{
MilkymistPFPUState *s = FROM_SYSBUS(typeof(*s), dev);
- int pfpu_regs;
sysbus_init_irq(dev, &s->irq);
- pfpu_regs = cpu_register_io_memory(pfpu_read_fn, pfpu_write_fn, s,
- DEVICE_NATIVE_ENDIAN);
- sysbus_init_mmio(dev, MICROCODE_END * 4, pfpu_regs);
+ memory_region_init_io(&s->regs_region, &pfpu_mmio_ops, s,
+ "milkymist-pfpu", MICROCODE_END * 4);
+ sysbus_init_mmio_region(dev, &s->regs_region);
return 0;
}
--
1.7.2.5
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [Qemu-devel] [PATCH 5/9] milkymist-sysctl: convert to memory API
2011-08-31 14:48 [Qemu-devel] [PATCH 0/9] Memory API conversion for milkymist models Michael Walle
` (3 preceding siblings ...)
2011-08-31 14:48 ` [Qemu-devel] [PATCH 4/9] milkymist-pfpu: " Michael Walle
@ 2011-08-31 14:48 ` Michael Walle
2011-08-31 14:48 ` [Qemu-devel] [PATCH 6/9] milkymist-tmu2: " Michael Walle
` (4 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: Michael Walle @ 2011-08-31 14:48 UTC (permalink / raw)
To: qemu-devel; +Cc: Michael Walle, Avi Kivity
Signed-off-by: Michael Walle <michael@walle.cc>
---
hw/milkymist-sysctl.c | 32 ++++++++++++++++----------------
1 files changed, 16 insertions(+), 16 deletions(-)
diff --git a/hw/milkymist-sysctl.c b/hw/milkymist-sysctl.c
index 7b2d544..5783f08 100644
--- a/hw/milkymist-sysctl.c
+++ b/hw/milkymist-sysctl.c
@@ -59,6 +59,7 @@ enum {
struct MilkymistSysctlState {
SysBusDevice busdev;
+ MemoryRegion regs_region;
QEMUBH *bh0;
QEMUBH *bh1;
@@ -88,7 +89,8 @@ static void sysctl_icap_write(MilkymistSysctlState *s, uint32_t value)
}
}
-static uint32_t sysctl_read(void *opaque, target_phys_addr_t addr)
+static uint64_t sysctl_read(void *opaque, target_phys_addr_t addr,
+ unsigned size)
{
MilkymistSysctlState *s = opaque;
uint32_t r = 0;
@@ -129,7 +131,8 @@ static uint32_t sysctl_read(void *opaque, target_phys_addr_t addr)
return r;
}
-static void sysctl_write(void *opaque, target_phys_addr_t addr, uint32_t value)
+static void sysctl_write(void *opaque, target_phys_addr_t addr, uint64_t value,
+ unsigned size)
{
MilkymistSysctlState *s = opaque;
@@ -195,16 +198,14 @@ static void sysctl_write(void *opaque, target_phys_addr_t addr, uint32_t value)
}
}
-static CPUReadMemoryFunc * const sysctl_read_fn[] = {
- NULL,
- NULL,
- &sysctl_read,
-};
-
-static CPUWriteMemoryFunc * const sysctl_write_fn[] = {
- NULL,
- NULL,
- &sysctl_write,
+static const MemoryRegionOps sysctl_mmio_ops = {
+ .read = sysctl_read,
+ .write = sysctl_write,
+ .valid = {
+ .min_access_size = 4,
+ .max_access_size = 4,
+ },
+ .endianness = DEVICE_NATIVE_ENDIAN,
};
static void timer0_hit(void *opaque)
@@ -258,7 +259,6 @@ static void milkymist_sysctl_reset(DeviceState *d)
static int milkymist_sysctl_init(SysBusDevice *dev)
{
MilkymistSysctlState *s = FROM_SYSBUS(typeof(*s), dev);
- int sysctl_regs;
sysbus_init_irq(dev, &s->gpio_irq);
sysbus_init_irq(dev, &s->timer0_irq);
@@ -271,9 +271,9 @@ static int milkymist_sysctl_init(SysBusDevice *dev)
ptimer_set_freq(s->ptimer0, s->freq_hz);
ptimer_set_freq(s->ptimer1, s->freq_hz);
- sysctl_regs = cpu_register_io_memory(sysctl_read_fn, sysctl_write_fn, s,
- DEVICE_NATIVE_ENDIAN);
- sysbus_init_mmio(dev, R_MAX * 4, sysctl_regs);
+ memory_region_init_io(&s->regs_region, &sysctl_mmio_ops, s,
+ "milkymist-sysctl", R_MAX * 4);
+ sysbus_init_mmio_region(dev, &s->regs_region);
return 0;
}
--
1.7.2.5
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [Qemu-devel] [PATCH 6/9] milkymist-tmu2: convert to memory API
2011-08-31 14:48 [Qemu-devel] [PATCH 0/9] Memory API conversion for milkymist models Michael Walle
` (4 preceding siblings ...)
2011-08-31 14:48 ` [Qemu-devel] [PATCH 5/9] milkymist-sysctl: " Michael Walle
@ 2011-08-31 14:48 ` Michael Walle
2011-08-31 14:48 ` [Qemu-devel] [PATCH 7/9] milkymist-uart: " Michael Walle
` (3 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: Michael Walle @ 2011-08-31 14:48 UTC (permalink / raw)
To: qemu-devel; +Cc: Michael Walle, Avi Kivity
Signed-off-by: Michael Walle <michael@walle.cc>
---
hw/milkymist-tmu2.c | 32 ++++++++++++++++----------------
1 files changed, 16 insertions(+), 16 deletions(-)
diff --git a/hw/milkymist-tmu2.c b/hw/milkymist-tmu2.c
index 790cdcb..82cb6af 100644
--- a/hw/milkymist-tmu2.c
+++ b/hw/milkymist-tmu2.c
@@ -77,6 +77,7 @@ struct vertex {
struct MilkymistTMU2State {
SysBusDevice busdev;
+ MemoryRegion regs_region;
CharDriverState *chr;
qemu_irq irq;
@@ -309,7 +310,8 @@ static void tmu2_start(MilkymistTMU2State *s)
qemu_irq_pulse(s->irq);
}
-static uint32_t tmu2_read(void *opaque, target_phys_addr_t addr)
+static uint64_t tmu2_read(void *opaque, target_phys_addr_t addr,
+ unsigned size)
{
MilkymistTMU2State *s = opaque;
uint32_t r = 0;
@@ -370,7 +372,8 @@ static void tmu2_check_registers(MilkymistTMU2State *s)
}
}
-static void tmu2_write(void *opaque, target_phys_addr_t addr, uint32_t value)
+static void tmu2_write(void *opaque, target_phys_addr_t addr, uint64_t value,
+ unsigned size)
{
MilkymistTMU2State *s = opaque;
@@ -414,16 +417,14 @@ static void tmu2_write(void *opaque, target_phys_addr_t addr, uint32_t value)
tmu2_check_registers(s);
}
-static CPUReadMemoryFunc * const tmu2_read_fn[] = {
- NULL,
- NULL,
- &tmu2_read,
-};
-
-static CPUWriteMemoryFunc * const tmu2_write_fn[] = {
- NULL,
- NULL,
- &tmu2_write,
+static const MemoryRegionOps tmu2_mmio_ops = {
+ .read = tmu2_read,
+ .write = tmu2_write,
+ .valid = {
+ .min_access_size = 4,
+ .max_access_size = 4,
+ },
+ .endianness = DEVICE_NATIVE_ENDIAN,
};
static void milkymist_tmu2_reset(DeviceState *d)
@@ -439,7 +440,6 @@ static void milkymist_tmu2_reset(DeviceState *d)
static int milkymist_tmu2_init(SysBusDevice *dev)
{
MilkymistTMU2State *s = FROM_SYSBUS(typeof(*s), dev);
- int tmu2_regs;
if (tmu2_glx_init(s)) {
return 1;
@@ -447,9 +447,9 @@ static int milkymist_tmu2_init(SysBusDevice *dev)
sysbus_init_irq(dev, &s->irq);
- tmu2_regs = cpu_register_io_memory(tmu2_read_fn, tmu2_write_fn, s,
- DEVICE_NATIVE_ENDIAN);
- sysbus_init_mmio(dev, R_MAX * 4, tmu2_regs);
+ memory_region_init_io(&s->regs_region, &tmu2_mmio_ops, s,
+ "milkymist-tmu2", R_MAX * 4);
+ sysbus_init_mmio_region(dev, &s->regs_region);
return 0;
}
--
1.7.2.5
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [Qemu-devel] [PATCH 7/9] milkymist-uart: convert to memory API
2011-08-31 14:48 [Qemu-devel] [PATCH 0/9] Memory API conversion for milkymist models Michael Walle
` (5 preceding siblings ...)
2011-08-31 14:48 ` [Qemu-devel] [PATCH 6/9] milkymist-tmu2: " Michael Walle
@ 2011-08-31 14:48 ` Michael Walle
2011-08-31 14:48 ` [Qemu-devel] [PATCH 8/9] milkymist-vgafb: " Michael Walle
` (2 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: Michael Walle @ 2011-08-31 14:48 UTC (permalink / raw)
To: qemu-devel; +Cc: Michael Walle, Avi Kivity
Signed-off-by: Michael Walle <michael@walle.cc>
---
hw/milkymist-uart.c | 33 +++++++++++++++++----------------
1 files changed, 17 insertions(+), 16 deletions(-)
diff --git a/hw/milkymist-uart.c b/hw/milkymist-uart.c
index e8e309d..128cd8c 100644
--- a/hw/milkymist-uart.c
+++ b/hw/milkymist-uart.c
@@ -35,7 +35,9 @@ enum {
struct MilkymistUartState {
SysBusDevice busdev;
+ MemoryRegion regs_region;
CharDriverState *chr;
+
qemu_irq rx_irq;
qemu_irq tx_irq;
@@ -43,7 +45,8 @@ struct MilkymistUartState {
};
typedef struct MilkymistUartState MilkymistUartState;
-static uint32_t uart_read(void *opaque, target_phys_addr_t addr)
+static uint64_t uart_read(void *opaque, target_phys_addr_t addr,
+ unsigned size)
{
MilkymistUartState *s = opaque;
uint32_t r = 0;
@@ -66,7 +69,8 @@ static uint32_t uart_read(void *opaque, target_phys_addr_t addr)
return r;
}
-static void uart_write(void *opaque, target_phys_addr_t addr, uint32_t value)
+static void uart_write(void *opaque, target_phys_addr_t addr, uint64_t value,
+ unsigned size)
{
MilkymistUartState *s = opaque;
unsigned char ch = value;
@@ -93,16 +97,14 @@ static void uart_write(void *opaque, target_phys_addr_t addr, uint32_t value)
}
}
-static CPUReadMemoryFunc * const uart_read_fn[] = {
- NULL,
- NULL,
- &uart_read,
-};
-
-static CPUWriteMemoryFunc * const uart_write_fn[] = {
- NULL,
- NULL,
- &uart_write,
+static const MemoryRegionOps uart_mmio_ops = {
+ .read = uart_read,
+ .write = uart_write,
+ .valid = {
+ .min_access_size = 4,
+ .max_access_size = 4,
+ },
+ .endianness = DEVICE_NATIVE_ENDIAN,
};
static void uart_rx(void *opaque, const uint8_t *buf, int size)
@@ -136,14 +138,13 @@ static void milkymist_uart_reset(DeviceState *d)
static int milkymist_uart_init(SysBusDevice *dev)
{
MilkymistUartState *s = FROM_SYSBUS(typeof(*s), dev);
- int uart_regs;
sysbus_init_irq(dev, &s->rx_irq);
sysbus_init_irq(dev, &s->tx_irq);
- uart_regs = cpu_register_io_memory(uart_read_fn, uart_write_fn, s,
- DEVICE_NATIVE_ENDIAN);
- sysbus_init_mmio(dev, R_MAX * 4, uart_regs);
+ memory_region_init_io(&s->regs_region, &uart_mmio_ops, s,
+ "milkymist-uart", R_MAX * 4);
+ sysbus_init_mmio_region(dev, &s->regs_region);
s->chr = qdev_init_chardev(&dev->qdev);
if (s->chr) {
--
1.7.2.5
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [Qemu-devel] [PATCH 8/9] milkymist-vgafb: convert to memory API
2011-08-31 14:48 [Qemu-devel] [PATCH 0/9] Memory API conversion for milkymist models Michael Walle
` (6 preceding siblings ...)
2011-08-31 14:48 ` [Qemu-devel] [PATCH 7/9] milkymist-uart: " Michael Walle
@ 2011-08-31 14:48 ` Michael Walle
2011-08-31 14:48 ` [Qemu-devel] [PATCH 9/9] milkymist-{minimac2, softusb}: rename memory names Michael Walle
2011-08-31 15:16 ` [Qemu-devel] [PATCH 0/9] Memory API conversion for milkymist models Avi Kivity
9 siblings, 0 replies; 11+ messages in thread
From: Michael Walle @ 2011-08-31 14:48 UTC (permalink / raw)
To: qemu-devel; +Cc: Michael Walle, Avi Kivity
Signed-off-by: Michael Walle <michael@walle.cc>
---
hw/milkymist-vgafb.c | 33 ++++++++++++++++-----------------
1 files changed, 16 insertions(+), 17 deletions(-)
diff --git a/hw/milkymist-vgafb.c b/hw/milkymist-vgafb.c
index 2e55e42..be81abd 100644
--- a/hw/milkymist-vgafb.c
+++ b/hw/milkymist-vgafb.c
@@ -64,6 +64,7 @@ enum {
struct MilkymistVgafbState {
SysBusDevice busdev;
+ MemoryRegion regs_region;
DisplayState *ds;
int invalidate;
@@ -153,7 +154,8 @@ static void vgafb_resize(MilkymistVgafbState *s)
s->invalidate = 1;
}
-static uint32_t vgafb_read(void *opaque, target_phys_addr_t addr)
+static uint64_t vgafb_read(void *opaque, target_phys_addr_t addr,
+ unsigned size)
{
MilkymistVgafbState *s = opaque;
uint32_t r = 0;
@@ -189,8 +191,8 @@ static uint32_t vgafb_read(void *opaque, target_phys_addr_t addr)
return r;
}
-static void
-vgafb_write(void *opaque, target_phys_addr_t addr, uint32_t value)
+static void vgafb_write(void *opaque, target_phys_addr_t addr, uint64_t value,
+ unsigned size)
{
MilkymistVgafbState *s = opaque;
@@ -238,16 +240,14 @@ vgafb_write(void *opaque, target_phys_addr_t addr, uint32_t value)
}
}
-static CPUReadMemoryFunc * const vgafb_read_fn[] = {
- NULL,
- NULL,
- &vgafb_read
-};
-
-static CPUWriteMemoryFunc * const vgafb_write_fn[] = {
- NULL,
- NULL,
- &vgafb_write
+static const MemoryRegionOps vgafb_mmio_ops = {
+ .read = vgafb_read,
+ .write = vgafb_write,
+ .valid = {
+ .min_access_size = 4,
+ .max_access_size = 4,
+ },
+ .endianness = DEVICE_NATIVE_ENDIAN,
};
static void milkymist_vgafb_reset(DeviceState *d)
@@ -269,11 +269,10 @@ static void milkymist_vgafb_reset(DeviceState *d)
static int milkymist_vgafb_init(SysBusDevice *dev)
{
MilkymistVgafbState *s = FROM_SYSBUS(typeof(*s), dev);
- int vgafb_regs;
- vgafb_regs = cpu_register_io_memory(vgafb_read_fn, vgafb_write_fn, s,
- DEVICE_NATIVE_ENDIAN);
- sysbus_init_mmio(dev, R_MAX * 4, vgafb_regs);
+ memory_region_init_io(&s->regs_region, &vgafb_mmio_ops, s,
+ "milkymist-vgafb", R_MAX * 4);
+ sysbus_init_mmio_region(dev, &s->regs_region);
s->ds = graphic_console_init(vgafb_update_display,
vgafb_invalidate_display,
--
1.7.2.5
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [Qemu-devel] [PATCH 9/9] milkymist-{minimac2, softusb}: rename memory names
2011-08-31 14:48 [Qemu-devel] [PATCH 0/9] Memory API conversion for milkymist models Michael Walle
` (7 preceding siblings ...)
2011-08-31 14:48 ` [Qemu-devel] [PATCH 8/9] milkymist-vgafb: " Michael Walle
@ 2011-08-31 14:48 ` Michael Walle
2011-08-31 15:16 ` [Qemu-devel] [PATCH 0/9] Memory API conversion for milkymist models Avi Kivity
9 siblings, 0 replies; 11+ messages in thread
From: Michael Walle @ 2011-08-31 14:48 UTC (permalink / raw)
To: qemu-devel; +Cc: Michael Walle, Avi Kivity
Be consistent with other milkymist models.
Signed-off-by: Michael Walle <michael@walle.cc>
---
hw/milkymist-minimac2.c | 4 ++--
hw/milkymist-softusb.c | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/hw/milkymist-minimac2.c b/hw/milkymist-minimac2.c
index fb48e37..85d9400 100644
--- a/hw/milkymist-minimac2.c
+++ b/hw/milkymist-minimac2.c
@@ -464,11 +464,11 @@ static int milkymist_minimac2_init(SysBusDevice *dev)
sysbus_init_irq(dev, &s->tx_irq);
memory_region_init_io(&s->regs_region, &minimac2_ops, s,
- "minimac2-mmio", R_MAX * 4);
+ "milkymist-minimac2", R_MAX * 4);
sysbus_init_mmio_region(dev, &s->regs_region);
/* register buffers memory */
- memory_region_init_ram(&s->buffers, NULL, "milkymist_minimac2.buffers",
+ memory_region_init_ram(&s->buffers, NULL, "milkymist-minimac2.buffers",
buffers_size);
s->rx0_buf = memory_region_get_ram_ptr(&s->buffers);
s->rx1_buf = s->rx0_buf + MINIMAC2_BUFFER_SIZE;
diff --git a/hw/milkymist-softusb.c b/hw/milkymist-softusb.c
index ef4d9ee..ec5f334 100644
--- a/hw/milkymist-softusb.c
+++ b/hw/milkymist-softusb.c
@@ -267,10 +267,10 @@ static int milkymist_softusb_init(SysBusDevice *dev)
sysbus_init_mmio_region(dev, &s->regs_region);
/* register pmem and dmem */
- memory_region_init_ram(&s->pmem, NULL, "milkymist_softusb.pmem",
+ memory_region_init_ram(&s->pmem, NULL, "milkymist-softusb.pmem",
s->pmem_size);
sysbus_add_memory(dev, s->pmem_base, &s->pmem);
- memory_region_init_ram(&s->dmem, NULL, "milkymist_softusb.dmem",
+ memory_region_init_ram(&s->dmem, NULL, "milkymist-softusb.dmem",
s->dmem_size);
sysbus_add_memory(dev, s->dmem_base, &s->dmem);
--
1.7.2.5
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [Qemu-devel] [PATCH 0/9] Memory API conversion for milkymist models
2011-08-31 14:48 [Qemu-devel] [PATCH 0/9] Memory API conversion for milkymist models Michael Walle
` (8 preceding siblings ...)
2011-08-31 14:48 ` [Qemu-devel] [PATCH 9/9] milkymist-{minimac2, softusb}: rename memory names Michael Walle
@ 2011-08-31 15:16 ` Avi Kivity
9 siblings, 0 replies; 11+ messages in thread
From: Avi Kivity @ 2011-08-31 15:16 UTC (permalink / raw)
To: Michael Walle; +Cc: qemu-devel
On 08/31/2011 05:48 PM, Michael Walle wrote:
> This patchset converts the remaining milkymist models to the new memory
> API. Additionally, it fixes a minor naming issue.
>
> This patches are againts avi's memory/master branch, for inclusion into his
> memory queue.
>
>
Added to memory/queue, thanks!
--
error compiling committee.c: too many arguments to function
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2011-08-31 15:16 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-08-31 14:48 [Qemu-devel] [PATCH 0/9] Memory API conversion for milkymist models Michael Walle
2011-08-31 14:48 ` [Qemu-devel] [PATCH 1/9] milkymist-ac97: convert to memory API Michael Walle
2011-08-31 14:48 ` [Qemu-devel] [PATCH 2/9] milkymist-hpdmc: " Michael Walle
2011-08-31 14:48 ` [Qemu-devel] [PATCH 3/9] milkymist-memcard: " Michael Walle
2011-08-31 14:48 ` [Qemu-devel] [PATCH 4/9] milkymist-pfpu: " Michael Walle
2011-08-31 14:48 ` [Qemu-devel] [PATCH 5/9] milkymist-sysctl: " Michael Walle
2011-08-31 14:48 ` [Qemu-devel] [PATCH 6/9] milkymist-tmu2: " Michael Walle
2011-08-31 14:48 ` [Qemu-devel] [PATCH 7/9] milkymist-uart: " Michael Walle
2011-08-31 14:48 ` [Qemu-devel] [PATCH 8/9] milkymist-vgafb: " Michael Walle
2011-08-31 14:48 ` [Qemu-devel] [PATCH 9/9] milkymist-{minimac2, softusb}: rename memory names Michael Walle
2011-08-31 15:16 ` [Qemu-devel] [PATCH 0/9] Memory API conversion for milkymist models Avi Kivity
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).