0001
0002
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
0029
0030 void ptdump_check_wx(void);
0031
0032 #endif
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