1/* SPDX-License-Identifier: GPL-2.0 */ 2/* Copyright (C) 2014 ARM Ltd. */ 3#ifndef __ASM_PTDUMP_H 4#define __ASM_PTDUMP_H 5 6#ifdef CONFIG_ARM_PTDUMP_CORE 7 8#include <linux/mm_types.h> 9#include <linux/seq_file.h> 10 11struct addr_marker { 12 unsigned long start_address; 13 char *name; 14}; 15 16struct ptdump_info { 17 struct mm_struct *mm; 18 const struct addr_marker *markers; 19 unsigned long base_addr; 20}; 21 22void ptdump_walk_pgd(struct seq_file *s, struct ptdump_info *info); 23#ifdef CONFIG_ARM_PTDUMP_DEBUGFS 24#define EFI_RUNTIME_MAP_END SZ_1G 25void ptdump_debugfs_register(struct ptdump_info *info, const char *name); 26#else 27static inline void ptdump_debugfs_register(struct ptdump_info *info, 28 const char *name) { } 29#endif /* CONFIG_ARM_PTDUMP_DEBUGFS */ 30 31void ptdump_check_wx(void); 32 33#endif /* CONFIG_ARM_PTDUMP_CORE */ 34 35#ifdef CONFIG_DEBUG_WX 36#define debug_checkwx() ptdump_check_wx() 37#else 38#define debug_checkwx() do { } while (0) 39#endif 40 41#endif /* __ASM_PTDUMP_H */ 42