hw/block/pflash_cfi02: Set rom_mode to true in pflash_setup_mappings()

There is only one call to pflash_setup_mappings(). Convert 'rom_mode'
to boolean and set it to true directly within pflash_setup_mappings().

Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: David Edmondson <david.edmondson@oracle.com>
Message-Id: <20210310170528.1184868-5-philmd@redhat.com>
This commit is contained in:
Philippe Mathieu-Daudé 2021-03-10 00:16:56 +01:00
parent 4586c2e5d5
commit 326d02c34a

View file

@ -108,7 +108,7 @@ struct PFlashCFI02 {
MemoryRegion mem; MemoryRegion mem;
MemoryRegion *mem_mappings; /* array; one per mapping */ MemoryRegion *mem_mappings; /* array; one per mapping */
MemoryRegion orig_mem; MemoryRegion orig_mem;
int rom_mode; bool rom_mode;
int read_counter; /* used for lazy switch-back to rom mode */ int read_counter; /* used for lazy switch-back to rom mode */
int sectors_to_erase; int sectors_to_erase;
uint64_t erase_time_remaining; uint64_t erase_time_remaining;
@ -181,12 +181,13 @@ static void pflash_setup_mappings(PFlashCFI02 *pfl)
"pflash-alias", &pfl->orig_mem, 0, size); "pflash-alias", &pfl->orig_mem, 0, size);
memory_region_add_subregion(&pfl->mem, i * size, &pfl->mem_mappings[i]); memory_region_add_subregion(&pfl->mem, i * size, &pfl->mem_mappings[i]);
} }
pfl->rom_mode = true;
} }
static void pflash_register_memory(PFlashCFI02 *pfl, int rom_mode) static void pflash_register_memory(PFlashCFI02 *pfl, int rom_mode)
{ {
memory_region_rom_device_set_romd(&pfl->orig_mem, rom_mode); memory_region_rom_device_set_romd(&pfl->orig_mem, rom_mode);
pfl->rom_mode = rom_mode; pfl->rom_mode = !!rom_mode;
} }
static size_t pflash_regions_count(PFlashCFI02 *pfl) static size_t pflash_regions_count(PFlashCFI02 *pfl)
@ -927,7 +928,6 @@ static void pflash_cfi02_realize(DeviceState *dev, Error **errp)
pfl->sector_erase_map = bitmap_new(pfl->total_sectors); pfl->sector_erase_map = bitmap_new(pfl->total_sectors);
pflash_setup_mappings(pfl); pflash_setup_mappings(pfl);
pfl->rom_mode = 1;
sysbus_init_mmio(SYS_BUS_DEVICE(dev), &pfl->mem); sysbus_init_mmio(SYS_BUS_DEVICE(dev), &pfl->mem);
timer_init_ns(&pfl->timer, QEMU_CLOCK_VIRTUAL, pflash_timer, pfl); timer_init_ns(&pfl->timer, QEMU_CLOCK_VIRTUAL, pflash_timer, pfl);