summaryrefslogtreecommitdiff
path: root/arch/arm/include/asm/ptdump.h
diff options
context:
space:
mode:
authorJinbum Park <jinb.park7@gmail.com>2017-12-12 01:41:09 +0100
committerRussell King <rmk+kernel@armlinux.org.uk>2018-01-21 15:32:17 +0000
commit4fb69cc4566f175839615cc4ef8828ae4d5341d9 (patch)
tree6be5567a61f73980f6dae40869a8cdba1197951d /arch/arm/include/asm/ptdump.h
parent6fbab054eccd14480d0c0805cab80db08e0fb3ee (diff)
ARM: 8735/1: mm: dump: make page table dumping reusable
This patch refactors the arm page table dumping code, so multiple tables may be registered with the framework. This patch refers below commits of arm64. (4674fdb9f149 ("arm64: mm: dump: make page table dumping reusable")) (4ddb9bf83349 ("arm64: dump: Make ptdump debugfs a separate option")) Reviewed-by: Kees Cook <keescook@chromium.org> Tested-by: Laura Abbott <labbott@redhat.com> Reviewed-by: Laura Abbott <labbott@redhat.com> Signed-off-by: Jinbum Park <jinb.park7@gmail.com> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Diffstat (limited to 'arch/arm/include/asm/ptdump.h')
-rw-r--r--arch/arm/include/asm/ptdump.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/arch/arm/include/asm/ptdump.h b/arch/arm/include/asm/ptdump.h
new file mode 100644
index 000000000000..45d2de313eda
--- /dev/null
+++ b/arch/arm/include/asm/ptdump.h
@@ -0,0 +1,35 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/* Copyright (C) 2014 ARM Ltd. */
+#ifndef __ASM_PTDUMP_H
+#define __ASM_PTDUMP_H
+
+#ifdef CONFIG_ARM_PTDUMP_CORE
+
+#include <linux/mm_types.h>
+#include <linux/seq_file.h>
+
+struct addr_marker {
+ unsigned long start_address;
+ char *name;
+};
+
+struct ptdump_info {
+ struct mm_struct *mm;
+ const struct addr_marker *markers;
+ unsigned long base_addr;
+};
+
+void ptdump_walk_pgd(struct seq_file *s, struct ptdump_info *info);
+#ifdef CONFIG_ARM_PTDUMP_DEBUGFS
+int ptdump_debugfs_register(struct ptdump_info *info, const char *name);
+#else
+static inline int ptdump_debugfs_register(struct ptdump_info *info,
+ const char *name)
+{
+ return 0;
+}
+#endif /* CONFIG_ARM_PTDUMP_DEBUGFS */
+
+#endif /* CONFIG_ARM_PTDUMP_CORE */
+
+#endif /* __ASM_PTDUMP_H */