aboutsummaryrefslogtreecommitdiffstats
path: root/arch/xtensa/Kconfig
diff options
context:
space:
mode:
authorMax Filippov <jcmvbkbc@gmail.com>2019-05-06 19:47:41 -0400
committerMax Filippov <jcmvbkbc@gmail.com>2019-05-07 13:36:34 -0400
commita5944195d00a359e28d6e093593609bcee37ed5e (patch)
tree387fa1be648ba716d2a4848e817a1198a8f66a9e /arch/xtensa/Kconfig
parentf7c34874f04a80d6c39a32f08da2529e59602d3c (diff)
xtensa: implement initialize_cacheattr for MPU cores
Use CONFIG_MEMMAP_CACHEATTR to initialize MPU as described in the Xtensa LSP RM document. Coalesce adjacent regions with the same cacheattr. Update Kconfig help text. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Diffstat (limited to 'arch/xtensa/Kconfig')
-rw-r--r--arch/xtensa/Kconfig26
1 files changed, 20 insertions, 6 deletions
diff --git a/arch/xtensa/Kconfig b/arch/xtensa/Kconfig
index 4b9aafe766c5..f081751db229 100644
--- a/arch/xtensa/Kconfig
+++ b/arch/xtensa/Kconfig
@@ -256,12 +256,26 @@ config MEMMAP_CACHEATTR
256 region: bits 0..3 -- for addresses 0x00000000..0x1fffffff, 256 region: bits 0..3 -- for addresses 0x00000000..0x1fffffff,
257 bits 4..7 -- for addresses 0x20000000..0x3fffffff, and so on. 257 bits 4..7 -- for addresses 0x20000000..0x3fffffff, and so on.
258 258
259 Cache attribute values are specific for the MMU type, so e.g. 259 Cache attribute values are specific for the MMU type.
260 for region protection MMUs: 2 is cache bypass, 4 is WB cached, 260 For region protection MMUs:
261 1 is WT cached, f is illegal. For ful MMU: bit 0 makes it executable, 261 1: WT cached,
262 bit 1 makes it writable, bits 2..3 meaning is 0: cache bypass, 262 2: cache bypass,
263 1: WB cache, 2: WT cache, 3: special (c and e are illegal, f is 263 4: WB cached,
264 reserved). 264 f: illegal.
265 For ful MMU:
266 bit 0: executable,
267 bit 1: writable,
268 bits 2..3:
269 0: cache bypass,
270 1: WB cache,
271 2: WT cache,
272 3: special (c and e are illegal, f is reserved).
273 For MPU:
274 0: illegal,
275 1: WB cache,
276 2: WB, no-write-allocate cache,
277 3: WT cache,
278 4: cache bypass.
265 279
266config KSEG_PADDR 280config KSEG_PADDR
267 hex "Physical address of the KSEG mapping" 281 hex "Physical address of the KSEG mapping"