Introduce a helper that returns whether the linear map is fully PTE-mapped (i.e. no block mapping is used). This is a runtime decision for some architectures, hence the need for a new arch helper.
Signed-off-by: Kevin Brodsky <[email protected]> --- include/linux/set_memory.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/include/linux/set_memory.h b/include/linux/set_memory.h index 7b3a8bfde3c6..c6df55422da2 100644 --- a/include/linux/set_memory.h +++ b/include/linux/set_memory.h @@ -58,6 +58,19 @@ static inline bool can_set_direct_map(void) #endif #endif /* CONFIG_ARCH_HAS_SET_DIRECT_MAP */ +#ifndef arch_has_pte_only_direct_map +/* + * The default assumption is that the direct map might be created using block + * mappings (PMD or higher). An architecture may override this if the direct + * map is fully PTE-mapped. + */ +static inline bool arch_has_pte_only_direct_map(void) +{ + return false; +} +#define arch_has_pte_only_direct_map arch_has_pte_only_direct_map +#endif + #ifdef CONFIG_X86_64 int set_mce_nospec(unsigned long pfn); int clear_mce_nospec(unsigned long pfn); -- 2.51.2

