From e9cbbcacb65c6868b58ca5a586ea657cdd2a9e92 Mon Sep 17 00:00:00 2001 From: "Edgar E. Iglesias" Date: Sun, 24 Jan 2010 19:28:55 +0100 Subject: [PATCH] pflash: Dont open memarea for full IO if already done. When wcycle is non zero the area is already opened for readable IO. Avoiding the re-registration of the memarea significantly speeds up the flash emulation. In particular for flashes connected through 8 or 16-bit buses. Signed-off-by: Edgar E. Iglesias --- hw/pflash_cfi01.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/hw/pflash_cfi01.c b/hw/pflash_cfi01.c index b0c7b4c..d9e30d9 100644 --- a/hw/pflash_cfi01.c +++ b/hw/pflash_cfi01.c @@ -247,8 +247,10 @@ static void pflash_write(pflash_t *pfl, target_phys_addr_t offset, DPRINTF("%s: writing offset " TARGET_FMT_plx " value %08x width %d wcycle 0x%x\n", __func__, offset, value, width, pfl->wcycle); - /* Set the device in I/O access mode */ - cpu_register_physical_memory(pfl->base, pfl->total_len, pfl->fl_mem); + if (!pfl->wcycle) { + /* Set the device in I/O access mode */ + cpu_register_physical_memory(pfl->base, pfl->total_len, pfl->fl_mem); + } switch (pfl->wcycle) { case 0: -- 2.7.4