Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-only */
0002 /*
0003  * Copyright (C) 2014 ARM Ltd.
0004  */
0005 #ifndef __ASM_PTDUMP_H
0006 #define __ASM_PTDUMP_H
0007 
0008 #ifdef CONFIG_PTDUMP_CORE
0009 
0010 #include <linux/mm_types.h>
0011 #include <linux/seq_file.h>
0012 
0013 struct addr_marker {
0014     unsigned long start_address;
0015     char *name;
0016 };
0017 
0018 struct ptdump_info {
0019     struct mm_struct        *mm;
0020     const struct addr_marker    *markers;
0021     unsigned long           base_addr;
0022 };
0023 
0024 void ptdump_walk(struct seq_file *s, struct ptdump_info *info);
0025 #ifdef CONFIG_PTDUMP_DEBUGFS
0026 void __init ptdump_debugfs_register(struct ptdump_info *info, const char *name);
0027 #else
0028 static inline void ptdump_debugfs_register(struct ptdump_info *info,
0029                        const char *name) { }
0030 #endif
0031 void ptdump_check_wx(void);
0032 #endif /* CONFIG_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 */