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