Commit e38a5175 authored by Will Deacon's avatar Will Deacon

ARM: lpae: fix definition of PTE_HWTABLE_PTRS

For 2-level page tables, PTE_HWTABLE_PTRS describes the offset between
Linux PTEs and hardware PTEs. On LPAE, there is no distinction (since
we have 64-bit descriptors with plenty of space) so PTE_HWTABLE_PTRS
should be 0. Unfortunately, it is wrongly defined as PTRS_PER_PTE,
meaning that current pte table flushing is off by a page. Luckily,
all current LPAE implementations are SMP, so the hardware walker can
snoop L1.

This patch fixes the broken definition.
Acked-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
parent 28d4bf7a
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
#define PTRS_PER_PMD 512 #define PTRS_PER_PMD 512
#define PTRS_PER_PGD 4 #define PTRS_PER_PGD 4
#define PTE_HWTABLE_PTRS (PTRS_PER_PTE) #define PTE_HWTABLE_PTRS (0)
#define PTE_HWTABLE_OFF (0) #define PTE_HWTABLE_OFF (0)
#define PTE_HWTABLE_SIZE (PTRS_PER_PTE * sizeof(u64)) #define PTE_HWTABLE_SIZE (PTRS_PER_PTE * sizeof(u64))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment