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. */ |