diff options
author | Stefano Stabellini <stefano.stabellini@eu.citrix.com> | 2013-01-21 12:40:31 +0000 |
---|---|---|
committer | Stefano Stabellini <stefano.stabellini@eu.citrix.com> | 2013-01-21 12:40:31 +0000 |
commit | c60209d77e2c02de110ca0fdaa2582ef4e53d8fd (patch) | |
tree | e7a1aa4496f6446f8ae271bb43063cab257e5c3f | |
parent | 43a5f79e8b42610dec7d65eaa084573771b69206 (diff) | |
download | xen-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.c | 1 |
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; |