summary refs log tree commit diff stats
path: root/hw/z2.c
diff options
context:
space:
mode:
authorAnthony Liguori <aliguori@us.ibm.com>2011-08-25 07:48:24 -0500
committerAnthony Liguori <aliguori@us.ibm.com>2011-08-25 07:48:24 -0500
commit8ef9ea85a2cc1007eaefa53e6871f1f83bcef22d (patch)
treefe43017f2bf431bc55a90b28e6c0e9357c4d46bd /hw/z2.c
parent444dc48298c480e42e15a8fe676be737d8a6b2a1 (diff)
parent2b90ca040c59d73943061e49f39455964e8af158 (diff)
downloadfocaccia-qemu-8ef9ea85a2cc1007eaefa53e6871f1f83bcef22d.tar.gz
focaccia-qemu-8ef9ea85a2cc1007eaefa53e6871f1f83bcef22d.zip
Merge remote-tracking branch 'qemu-kvm/memory/batch' into staging
Diffstat (limited to 'hw/z2.c')
-rw-r--r--hw/z2.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/hw/z2.c b/hw/z2.c
index f93a1bf0fe..d7b8d5327b 100644
--- a/hw/z2.c
+++ b/hw/z2.c
@@ -280,10 +280,11 @@ static void z2_init(ram_addr_t ram_size,
     uint32_t sector_len = 0x10000;
     PXA2xxState *cpu;
     DriveInfo *dinfo;
-    int be;
+    const MemoryRegionOps *flash_ops;
     void *z2_lcd;
     i2c_bus *bus;
     DeviceState *wm;
+    MemoryRegion *flash = g_new(MemoryRegion, 1);
 
     if (!cpu_model) {
         cpu_model = "pxa270-c5";
@@ -293,9 +294,9 @@ static void z2_init(ram_addr_t ram_size,
     cpu = pxa270_init(z2_binfo.ram_size, cpu_model);
 
 #ifdef TARGET_WORDS_BIGENDIAN
-    be = 1;
+    flash_ops = &pflash_cfi01_ops_be;
 #else
-    be = 0;
+    flash_ops = &pflash_cfi01_ops_le;
 #endif
     dinfo = drive_get(IF_PFLASH, 0, 0);
     if (!dinfo) {
@@ -304,11 +305,11 @@ static void z2_init(ram_addr_t ram_size,
         exit(1);
     }
 
-    if (!pflash_cfi01_register(Z2_FLASH_BASE,
-                               qemu_ram_alloc(NULL, "z2.flash0", Z2_FLASH_SIZE),
+    memory_region_init_rom_device(flash, flash_ops,
+                                  NULL, "z2.flash0", Z2_FLASH_SIZE);
+    if (!pflash_cfi01_register(Z2_FLASH_BASE, flash,
                                dinfo->bdrv, sector_len,
-                               Z2_FLASH_SIZE / sector_len, 4, 0, 0, 0, 0,
-                               be)) {
+                               Z2_FLASH_SIZE / sector_len, 4, 0, 0, 0, 0)) {
         fprintf(stderr, "qemu: Error registering flash memory.\n");
         exit(1);
     }