12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- /* SPDX-License-Identifier: GPL-2.0-only */
- /*
- * Copyright 2017, Michael Ellerman, IBM Corporation.
- */
- #ifndef _LINUX_SET_MEMORY_H_
- #define _LINUX_SET_MEMORY_H_
- #ifdef CONFIG_ARCH_HAS_SET_MEMORY
- #include <asm/set_memory.h>
- #else
- static inline int set_memory_ro(unsigned long addr, int numpages) { return 0; }
- static inline int set_memory_rw(unsigned long addr, int numpages) { return 0; }
- static inline int set_memory_x(unsigned long addr, int numpages) { return 0; }
- static inline int set_memory_nx(unsigned long addr, int numpages) { return 0; }
- #endif
- #ifndef CONFIG_ARCH_HAS_SET_DIRECT_MAP
- static inline int set_direct_map_invalid_noflush(struct page *page)
- {
- return 0;
- }
- static inline int set_direct_map_default_noflush(struct page *page)
- {
- return 0;
- }
- static inline bool kernel_page_present(struct page *page)
- {
- return true;
- }
- #else /* CONFIG_ARCH_HAS_SET_DIRECT_MAP */
- /*
- * Some architectures, e.g. ARM64 can disable direct map modifications at
- * boot time. Let them overrive this query.
- */
- #ifndef can_set_direct_map
- static inline bool can_set_direct_map(void)
- {
- return true;
- }
- #define can_set_direct_map can_set_direct_map
- #endif
- #endif /* CONFIG_ARCH_HAS_SET_DIRECT_MAP */
- #ifdef CONFIG_X86_64
- int set_mce_nospec(unsigned long pfn);
- int clear_mce_nospec(unsigned long pfn);
- #else
- static inline int set_mce_nospec(unsigned long pfn)
- {
- return 0;
- }
- static inline int clear_mce_nospec(unsigned long pfn)
- {
- return 0;
- }
- #endif
- int set_direct_map_range_uncached(unsigned long addr, unsigned long numpages);
- #ifndef CONFIG_ARCH_HAS_MEM_ENCRYPT
- static inline int set_memory_encrypted(unsigned long addr, int numpages)
- {
- return 0;
- }
- static inline int set_memory_decrypted(unsigned long addr, int numpages)
- {
- return 0;
- }
- #endif /* CONFIG_ARCH_HAS_MEM_ENCRYPT */
- #endif /* _LINUX_SET_MEMORY_H_ */
|