1/* SPDX-License-Identifier: GPL-2.0-only */ 2/* 3 * Copyright (C) 2014 ARM Ltd. 4 */ 5#ifndef __ASM_PTDUMP_H 6#define __ASM_PTDUMP_H 7 8#ifdef CONFIG_PTDUMP_CORE 9 10#include <linux/mm_types.h> 11#include <linux/seq_file.h> 12 13struct addr_marker { 14 unsigned long start_address; 15 char *name; 16}; 17 18struct ptdump_info { 19 struct mm_struct *mm; 20 const struct addr_marker *markers; 21 unsigned long base_addr; 22}; 23 24void ptdump_walk(struct seq_file *s, struct ptdump_info *info); 25#ifdef CONFIG_PTDUMP_DEBUGFS 26#define EFI_RUNTIME_MAP_END DEFAULT_MAP_WINDOW_64 27void __init ptdump_debugfs_register(struct ptdump_info *info, const char *name); 28#else 29static inline void ptdump_debugfs_register(struct ptdump_info *info, 30 const char *name) { } 31#endif 32void ptdump_check_wx(void); 33#endif /* CONFIG_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