[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 05/19] mips_r4k: convert to memory API
From: |
Avi Kivity |
Subject: |
[Qemu-devel] [PATCH 05/19] mips_r4k: convert to memory API |
Date: |
Thu, 25 Aug 2011 11:09:04 +0300 |
Signed-off-by: Avi Kivity <address@hidden>
---
hw/mips_r4k.c | 38 ++++++++++++++------------------------
1 files changed, 14 insertions(+), 24 deletions(-)
diff --git a/hw/mips_r4k.c b/hw/mips_r4k.c
index 51dc868..efa4b05 100644
--- a/hw/mips_r4k.c
+++ b/hw/mips_r4k.c
@@ -42,8 +42,8 @@ static struct _loaderparams {
const char *initrd_filename;
} loaderparams;
-static void mips_qemu_writel (void *opaque, target_phys_addr_t addr,
- uint32_t val)
+static void mips_qemu_write (void *opaque, target_phys_addr_t addr,
+ uint64_t val, unsigned size)
{
if ((addr & 0xffff) == 0 && val == 42)
qemu_system_reset_request ();
@@ -51,25 +51,18 @@ static void mips_qemu_writel (void *opaque,
target_phys_addr_t addr,
qemu_system_shutdown_request ();
}
-static uint32_t mips_qemu_readl (void *opaque, target_phys_addr_t addr)
+static uint64_t mips_qemu_read (void *opaque, target_phys_addr_t addr,
+ unsigned size)
{
return 0;
}
-static CPUWriteMemoryFunc * const mips_qemu_write[] = {
- &mips_qemu_writel,
- &mips_qemu_writel,
- &mips_qemu_writel,
+static const MemoryRegionOps mips_qemu_ops = {
+ .read = mips_qemu_read,
+ .write = mips_qemu_write,
+ .endianness = DEVICE_NATIVE_ENDIAN,
};
-static CPUReadMemoryFunc * const mips_qemu_read[] = {
- &mips_qemu_readl,
- &mips_qemu_readl,
- &mips_qemu_readl,
-};
-
-static int mips_qemu_iomemtype = 0;
-
typedef struct ResetData {
CPUState *env;
uint64_t vector;
@@ -163,9 +156,10 @@ void mips_r4k_init (ram_addr_t ram_size,
const char *initrd_filename, const char *cpu_model)
{
char *filename;
- ram_addr_t ram_offset;
MemoryRegion *address_space_mem = get_system_memory();
+ MemoryRegion *ram = g_new(MemoryRegion, 1);
MemoryRegion *bios = g_new(MemoryRegion, 1);
+ MemoryRegion *iomem = g_new(MemoryRegion, 1);
int bios_size;
CPUState *env;
ResetData *reset_info;
@@ -200,16 +194,12 @@ void mips_r4k_init (ram_addr_t ram_size,
((unsigned int)ram_size / (1 << 20)));
exit(1);
}
- ram_offset = qemu_ram_alloc(NULL, "mips_r4k.ram", ram_size);
+ memory_region_init_ram(ram, NULL, "mips_r4k.ram", ram_size);
- cpu_register_physical_memory(0, ram_size, ram_offset | IO_MEM_RAM);
+ memory_region_add_subregion(address_space_mem, 0, ram);
- if (!mips_qemu_iomemtype) {
- mips_qemu_iomemtype = cpu_register_io_memory(mips_qemu_read,
- mips_qemu_write, NULL,
- DEVICE_NATIVE_ENDIAN);
- }
- cpu_register_physical_memory(0x1fbf0000, 0x10000, mips_qemu_iomemtype);
+ memory_region_init_io(iomem, &mips_qemu_ops, NULL, "mips-qemu", 0x10000);
+ memory_region_add_subregion(address_space_mem, 0x1fbf0000, iomem);
/* Try to load a BIOS image. If this fails, we continue regardless,
but initialize the hardware ourselves. When a kernel gets
--
1.7.5.3
- [Qemu-devel] [PATCH 13/19] cs4231a: Convert to MemoryRegion, (continued)
- [Qemu-devel] [PATCH 13/19] cs4231a: Convert to MemoryRegion, Avi Kivity, 2011/08/25
- [Qemu-devel] [PATCH 11/19] isa: add isa_register_ioport(), Avi Kivity, 2011/08/25
- [Qemu-devel] [PATCH 12/19] pc: Re-order pc_init1 to initialize the ISA bus before ISA devices, Avi Kivity, 2011/08/25
- [Qemu-devel] [PATCH 06/19] musicpal: convert to memory API, Avi Kivity, 2011/08/25
- [Qemu-devel] [PATCH 14/19] i8254: Convert to MemoryRegion, Avi Kivity, 2011/08/25
- [Qemu-devel] [PATCH 18/19] fdc: Convert isabus_fdc_init1 to MemoryRegion, Avi Kivity, 2011/08/25
- [Qemu-devel] [PATCH 07/19] omap1: convert to memory API (part I), Avi Kivity, 2011/08/25
- [Qemu-devel] [PATCH 16/19] pckbd: Convert to MemoryRegion, Avi Kivity, 2011/08/25
- [Qemu-devel] [PATCH 10/19] isa: Pass i/o address space to isa_bus_new, Avi Kivity, 2011/08/25
- [Qemu-devel] [PATCH 15/19] i8259: Convert to MemoryRegion, Avi Kivity, 2011/08/25
- [Qemu-devel] [PATCH 05/19] mips_r4k: convert to memory API,
Avi Kivity <=
- [Qemu-devel] [PATCH 03/19] mips_malta: convert to memory API, Avi Kivity, 2011/08/25
- [Qemu-devel] [PATCH 08/19] omap1: convert to memory API (part II), Avi Kivity, 2011/08/25
- [Qemu-devel] [PATCH 02/19] mips_jazz: convert to memory API, Avi Kivity, 2011/08/25