diff options
author | Max Filippov <jcmvbkbc@gmail.com> | 2019-05-06 19:47:41 -0400 |
---|---|---|
committer | Max Filippov <jcmvbkbc@gmail.com> | 2019-05-07 13:36:34 -0400 |
commit | a5944195d00a359e28d6e093593609bcee37ed5e (patch) | |
tree | 387fa1be648ba716d2a4848e817a1198a8f66a9e /arch/xtensa/Kconfig | |
parent | f7c34874f04a80d6c39a32f08da2529e59602d3c (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/Kconfig | 26 |
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 | ||
266 | config KSEG_PADDR | 280 | config KSEG_PADDR |
267 | hex "Physical address of the KSEG mapping" | 281 | hex "Physical address of the KSEG mapping" |