chipid_mem is initialized with memory_region_init_ram_ptr() function with 
chipid_and_omr
array as buffer argument. During initialization memory region size is aligned 
to page size,
but size of static array chipid_and_omr is less then TARGET_PAGE_SIZE. This 
could result
in errors in some cases, specifically, it could cause segfault during VM saving.
Setting chipid_and_omr aray size to TARGET_PAGE_SIZE helps us to avoid any 
problems.

Signed-off-by: Igor Mitsyanko <i.mitsya...@samsung.com>
---
 hw/exynos4210.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/hw/exynos4210.c b/hw/exynos4210.c
index 94d2e41..3568ada 100644
--- a/hw/exynos4210.c
+++ b/hw/exynos4210.c
@@ -62,7 +62,7 @@
 /* Display controllers (FIMD) */
 #define EXYNOS4210_FIMD0_BASE_ADDR          0x11C00000
 
-static uint8_t chipid_and_omr[] = { 0x11, 0x02, 0x21, 0x43,
+static uint8_t chipid_and_omr[TARGET_PAGE_SIZE] = { 0x11, 0x02, 0x21, 0x43,
                                     0x09, 0x00, 0x00, 0x00 };
 
 void exynos4210_write_secondary(ARMCPU *cpu,
-- 
1.7.4.1


Reply via email to