summaryrefslogtreecommitdiffstats
path: root/arch/arm64/mm
diff options
context:
space:
mode:
authorCatalin Marinas <catalin.marinas@arm.com>2014-03-26 18:25:55 +0000
committerCatalin Marinas <catalin.marinas@arm.com>2014-04-05 10:06:18 +0100
commitc218bca74eeafa2f8528b6bbb34d112075fcf40a (patch)
tree29b3e350efca77e073436df3cf78b818bf57cc34 /arch/arm64/mm
parent35a86976924a9eda7775b5b02ad47268dca1a5b4 (diff)
downloadop-kernel-dev-c218bca74eeafa2f8528b6bbb34d112075fcf40a.zip
op-kernel-dev-c218bca74eeafa2f8528b6bbb34d112075fcf40a.tar.gz
arm64: Relax the kernel cache requirements for boot
With system caches for the host OS or architected caches for guest OS we cannot easily guarantee that there are no dirty or stale cache lines for the areas of memory written by the kernel during boot with the MMU off (therefore non-cacheable accesses). This patch adds the necessary cache maintenance during boot and relaxes the booting requirements. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Diffstat (limited to 'arch/arm64/mm')
-rw-r--r--arch/arm64/mm/cache.S9
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/arm64/mm/cache.S b/arch/arm64/mm/cache.S
index c46f48b..e803a62 100644
--- a/arch/arm64/mm/cache.S
+++ b/arch/arm64/mm/cache.S
@@ -168,6 +168,14 @@ ENTRY(__flush_dcache_area)
ENDPROC(__flush_dcache_area)
/*
+ * __inval_cache_range(start, end)
+ * - start - start address of region
+ * - end - end address of region
+ */
+ENTRY(__inval_cache_range)
+ /* FALLTHROUGH */
+
+/*
* __dma_inv_range(start, end)
* - start - virtual start address of region
* - end - virtual end address of region
@@ -183,6 +191,7 @@ __dma_inv_range:
b.lo 1b
dsb sy
ret
+ENDPROC(__inval_cache_range)
ENDPROC(__dma_inv_range)
/*
OpenPOWER on IntegriCloud