xref: /linux/arch/loongarch/include/asm/set_memory.h (revision 7f71507851fc7764b36a3221839607d3a45c2025)
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * Copyright (C) 2024 Loongson Technology Corporation Limited
4  */
5 
6 #ifndef _ASM_LOONGARCH_SET_MEMORY_H
7 #define _ASM_LOONGARCH_SET_MEMORY_H
8 
9 /*
10  * Functions to change memory attributes.
11  */
12 int set_memory_x(unsigned long addr, int numpages);
13 int set_memory_nx(unsigned long addr, int numpages);
14 int set_memory_ro(unsigned long addr, int numpages);
15 int set_memory_rw(unsigned long addr, int numpages);
16 
17 bool kernel_page_present(struct page *page);
18 int set_direct_map_default_noflush(struct page *page);
19 int set_direct_map_invalid_noflush(struct page *page);
20 int set_direct_map_valid_noflush(struct page *page, unsigned nr, bool valid);
21 
22 #endif /* _ASM_LOONGARCH_SET_MEMORY_H */
23