dump_pagetables.c (60a2f25de7b8b785baee2932db932ae9a5b8c86d) dump_pagetables.c (208da1d5fc3c67d8ae5d34e844fd67cc47a136f0)
1// SPDX-License-Identifier: GPL-2.0
2#include <linux/set_memory.h>
3#include <linux/ptdump.h>
4#include <linux/seq_file.h>
5#include <linux/debugfs.h>
6#include <linux/mm.h>
7#include <linux/kfence.h>
8#include <linux/kasan.h>

--- 274 unchanged lines hidden (view full) ---

283#ifdef CONFIG_KFENCE
284 unsigned long kfence_start = (unsigned long)__kfence_pool;
285#endif
286 /*
287 * Figure out the maximum virtual address being accessible with the
288 * kernel ASCE. We need this to keep the page table walker functions
289 * from accessing non-existent entries.
290 */
1// SPDX-License-Identifier: GPL-2.0
2#include <linux/set_memory.h>
3#include <linux/ptdump.h>
4#include <linux/seq_file.h>
5#include <linux/debugfs.h>
6#include <linux/mm.h>
7#include <linux/kfence.h>
8#include <linux/kasan.h>

--- 274 unchanged lines hidden (view full) ---

283#ifdef CONFIG_KFENCE
284 unsigned long kfence_start = (unsigned long)__kfence_pool;
285#endif
286 /*
287 * Figure out the maximum virtual address being accessible with the
288 * kernel ASCE. We need this to keep the page table walker functions
289 * from accessing non-existent entries.
290 */
291 max_addr = (S390_lowcore.kernel_asce.val & _REGION_ENTRY_TYPE_MASK) >> 2;
291 max_addr = (get_lowcore()->kernel_asce.val & _REGION_ENTRY_TYPE_MASK) >> 2;
292 max_addr = 1UL << (max_addr * 11 + 31);
293 address_markers[IDENTITY_AFTER_END_NR].start_address = ident_map_size;
294 address_markers[AMODE31_START_NR].start_address = (unsigned long)__samode31;
295 address_markers[AMODE31_END_NR].start_address = (unsigned long)__eamode31;
296 address_markers[MODULES_NR].start_address = MODULES_VADDR;
297 address_markers[MODULES_END_NR].start_address = MODULES_END;
298 address_markers[ABS_LOWCORE_NR].start_address = __abs_lowcore;
299 address_markers[ABS_LOWCORE_END_NR].start_address = __abs_lowcore + ABS_LOWCORE_MAP_SIZE;

--- 17 unchanged lines hidden ---
292 max_addr = 1UL << (max_addr * 11 + 31);
293 address_markers[IDENTITY_AFTER_END_NR].start_address = ident_map_size;
294 address_markers[AMODE31_START_NR].start_address = (unsigned long)__samode31;
295 address_markers[AMODE31_END_NR].start_address = (unsigned long)__eamode31;
296 address_markers[MODULES_NR].start_address = MODULES_VADDR;
297 address_markers[MODULES_END_NR].start_address = MODULES_END;
298 address_markers[ABS_LOWCORE_NR].start_address = __abs_lowcore;
299 address_markers[ABS_LOWCORE_END_NR].start_address = __abs_lowcore + ABS_LOWCORE_MAP_SIZE;

--- 17 unchanged lines hidden ---