Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 /* Copyright (C) 2014 ARM Ltd. */
0003 #ifndef __ASM_PTDUMP_H
0004 #define __ASM_PTDUMP_H
0005 
0006 #ifdef CONFIG_ARM_PTDUMP_CORE
0007 
0008 #include <linux/mm_types.h>
0009 #include <linux/seq_file.h>
0010 
0011 struct addr_marker {
0012     unsigned long start_address;
0013     char *name;
0014 };
0015 
0016 struct ptdump_info {
0017     struct mm_struct        *mm;
0018     const struct addr_marker    *markers;
0019     unsigned long           base_addr;
0020 };
0021 
0022 void ptdump_walk_pgd(struct seq_file *s, struct ptdump_info *info);
0023 #ifdef CONFIG_ARM_PTDUMP_DEBUGFS
0024 void ptdump_debugfs_register(struct ptdump_info *info, const char *name);
0025 #else
0026 static inline void ptdump_debugfs_register(struct ptdump_info *info,
0027                        const char *name) { }
0028 #endif /* CONFIG_ARM_PTDUMP_DEBUGFS */
0029 
0030 void ptdump_check_wx(void);
0031 
0032 #endif /* CONFIG_ARM_PTDUMP_CORE */
0033 
0034 #ifdef CONFIG_DEBUG_WX
0035 #define debug_checkwx() ptdump_check_wx()
0036 #else
0037 #define debug_checkwx() do { } while (0)
0038 #endif
0039 
0040 #endif /* __ASM_PTDUMP_H */