diff options
| -rw-r--r-- | arch/xtensa/include/asm/pgtable.h | 7 | ||||
| -rw-r--r-- | arch/xtensa/kernel/entry.S | 2 |
2 files changed, 7 insertions, 2 deletions
diff --git a/arch/xtensa/include/asm/pgtable.h b/arch/xtensa/include/asm/pgtable.h index 4b0ca35a93b1..b2173e5da601 100644 --- a/arch/xtensa/include/asm/pgtable.h +++ b/arch/xtensa/include/asm/pgtable.h | |||
| @@ -67,7 +67,12 @@ | |||
| 67 | #define VMALLOC_START 0xC0000000 | 67 | #define VMALLOC_START 0xC0000000 |
| 68 | #define VMALLOC_END 0xC7FEFFFF | 68 | #define VMALLOC_END 0xC7FEFFFF |
| 69 | #define TLBTEMP_BASE_1 0xC7FF0000 | 69 | #define TLBTEMP_BASE_1 0xC7FF0000 |
| 70 | #define TLBTEMP_BASE_2 0xC7FF8000 | 70 | #define TLBTEMP_BASE_2 (TLBTEMP_BASE_1 + DCACHE_WAY_SIZE) |
| 71 | #if 2 * DCACHE_WAY_SIZE > ICACHE_WAY_SIZE | ||
| 72 | #define TLBTEMP_SIZE (2 * DCACHE_WAY_SIZE) | ||
| 73 | #else | ||
| 74 | #define TLBTEMP_SIZE ICACHE_WAY_SIZE | ||
| 75 | #endif | ||
| 71 | 76 | ||
| 72 | /* | 77 | /* |
| 73 | * For the Xtensa architecture, the PTE layout is as follows: | 78 | * For the Xtensa architecture, the PTE layout is as follows: |
diff --git a/arch/xtensa/kernel/entry.S b/arch/xtensa/kernel/entry.S index db96acb1362b..21917e5fd53a 100644 --- a/arch/xtensa/kernel/entry.S +++ b/arch/xtensa/kernel/entry.S | |||
| @@ -1565,7 +1565,7 @@ ENTRY(fast_second_level_miss) | |||
| 1565 | rsr a0, excvaddr | 1565 | rsr a0, excvaddr |
| 1566 | bltu a0, a3, 2f | 1566 | bltu a0, a3, 2f |
| 1567 | 1567 | ||
| 1568 | addi a1, a0, -(2 << (DCACHE_ALIAS_ORDER + PAGE_SHIFT)) | 1568 | addi a1, a0, -TLBTEMP_SIZE |
| 1569 | bgeu a1, a3, 2f | 1569 | bgeu a1, a3, 2f |
| 1570 | 1570 | ||
| 1571 | /* Check if we have to restore an ITLB mapping. */ | 1571 | /* Check if we have to restore an ITLB mapping. */ |
