[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 14/22] pflash_cfi01/pflash_cfi02: convert to
From: |
Jan Kiszka |
Subject: |
Re: [Qemu-devel] [PATCH v2 14/22] pflash_cfi01/pflash_cfi02: convert to memory API |
Date: |
Thu, 25 Aug 2011 13:37:04 +0200 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666 |
On 2011-08-24 15:40, Avi Kivity wrote:
> cfi02 is annoying in that is ignores some address bits; we probably
> want explicit support in the memory API for that.
...
> diff --git a/hw/musicpal.c b/hw/musicpal.c
> index 63dd391..5e74ee7 100644
> --- a/hw/musicpal.c
> +++ b/hw/musicpal.c
> @@ -1502,6 +1502,7 @@ static void musicpal_init(ram_addr_t ram_size,
> unsigned long flash_size;
> DriveInfo *dinfo;
> ram_addr_t sram_off;
> + MemoryRegion *flash = g_new(MemoryRegion, 1);
>
> if (!cpu_model) {
> cpu_model = "arm926";
> @@ -1565,21 +1566,23 @@ static void musicpal_init(ram_addr_t ram_size,
> * image is smaller than 32 MB.
> */
> #ifdef TARGET_WORDS_BIGENDIAN
> - pflash_cfi02_register(0-MP_FLASH_SIZE_MAX, qemu_ram_alloc(NULL,
> - "musicpal.flash", flash_size),
> + memory_region_init_rom_device(flash, &pflash_cfi02_ops_be,
> + NULL, "musicpal.flash", flash_size);
> + pflash_cfi02_register(0-MP_FLASH_SIZE_MAX, flash,
> dinfo->bdrv, 0x10000,
> (flash_size + 0xffff) >> 16,
> MP_FLASH_SIZE_MAX / flash_size,
> 2, 0x00BF, 0x236D, 0x0000, 0x0000,
> - 0x5555, 0x2AAA, 1);
> + 0x5555, 0x2AAA);
> #else
> - pflash_cfi02_register(0-MP_FLASH_SIZE_MAX, qemu_ram_alloc(NULL,
> - "musicpal.flash", flash_size),
> + memory_region_init_rom_device(flash, &pflash_cfi02_ops_le,
> + NULL, "musicpal.flash", flash_size);
> + pflash_cfi02_register(0-MP_FLASH_SIZE_MAX, flash,
> dinfo->bdrv, 0x10000,
> (flash_size + 0xffff) >> 16,
> MP_FLASH_SIZE_MAX / flash_size,
> 2, 0x00BF, 0x236D, 0x0000, 0x0000,
> - 0x5555, 0x2AAA, 0);
> + 0x5555, 0x2AAA);
> #endif
This would deserve some reordering to reduce the code under #ifdef.
Anyway, it also breaks the musicpal (and presumably all other flash
users) because memory_region_init_rom_device is broken. It assumes
mr->ops is set, but I guess it rather should set that field itself, no?
Jan
--
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux
- Re: [Qemu-devel] [PATCH v2 07/22] axis_dev88: convert to memory API (RAM only), (continued)
- [Qemu-devel] [PATCH v2 19/22] mcf5208: convert to memory API, Avi Kivity, 2011/08/24
- [Qemu-devel] [PATCH v2 11/22] cirrus: wrap memory update in a transaction, Avi Kivity, 2011/08/24
- [Qemu-devel] [PATCH v2 16/22] g364fb: convert to memory API, Avi Kivity, 2011/08/24
- [Qemu-devel] [PATCH v2 17/22] lm32_boards: convert to memory API, Avi Kivity, 2011/08/24
- [Qemu-devel] [PATCH v2 13/22] Makefile.hw: allow hw/ files to include glib headers, Avi Kivity, 2011/08/24
- [Qemu-devel] [PATCH v2 05/22] an5206: convert to memory API, Avi Kivity, 2011/08/24
- [Qemu-devel] [PATCH v2 04/22] ReadWriteHandler: remove, Avi Kivity, 2011/08/24
- [Qemu-devel] [PATCH v2 12/22] piix_pci: wrap memory update in a transaction, Avi Kivity, 2011/08/24
- [Qemu-devel] [PATCH v2 14/22] pflash_cfi01/pflash_cfi02: convert to memory API, Avi Kivity, 2011/08/24
- Re: [Qemu-devel] [PATCH v2 14/22] pflash_cfi01/pflash_cfi02: convert to memory API,
Jan Kiszka <=
- [Qemu-devel] [PATCH v2 18/22] mainstone: convert to memory API, Avi Kivity, 2011/08/24
- [Qemu-devel] [PATCH v2 15/22] dummy_m68k: convert to memory API, Avi Kivity, 2011/08/24
- [Qemu-devel] [PATCH v2 21/22] milkymist-softusb: convert to memory API, Avi Kivity, 2011/08/24
- Re: [Qemu-devel] [PATCH v2 00/22] Memory API conversions, batch 5, Richard Henderson, 2011/08/24