aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefano Stabellini <stefano.stabellini@eu.citrix.com>2013-01-21 12:40:31 +0000
committerStefano Stabellini <stefano.stabellini@eu.citrix.com>2013-01-21 12:40:31 +0000
commitc60209d77e2c02de110ca0fdaa2582ef4e53d8fd (patch)
treee7a1aa4496f6446f8ae271bb43063cab257e5c3f
parent43a5f79e8b42610dec7d65eaa084573771b69206 (diff)
downloadxen-c60209d77e2c02de110ca0fdaa2582ef4e53d8fd.tar.gz
xen-c60209d77e2c02de110ca0fdaa2582ef4e53d8fd.tar.bz2
xen-c60209d77e2c02de110ca0fdaa2582ef4e53d8fd.zip
xen/arm: flush dcache after memcpy'ing the kernel image
After memcpy'ing the kernel in guest memory we need to flush the dcache to make sure that the data actually reaches the memory before we start executing guest code with caches disabled. copy_from_paddr is the function that does the copy, so add a flush_xen_dcache_va_range there. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Acked-by: Ian Campbell <ian.campbell@citrix.com> Committed-by: Ian Campbell <ian.campbell@citrix.com>
-rw-r--r--xen/arch/arm/kernel.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/xen/arch/arm/kernel.c b/xen/arch/arm/kernel.c
index c9265d7212..2f7a9ff2a5 100644
--- a/xen/arch/arm/kernel.c
+++ b/xen/arch/arm/kernel.c
@@ -54,6 +54,7 @@ void copy_from_paddr(void *dst, paddr_t paddr, unsigned long len, int attrindx)
set_fixmap(FIXMAP_MISC, p, attrindx);
memcpy(dst, src + s, l);
+ flush_xen_dcache_va_range(dst, l);
paddr += l;
dst += l;