pgalloc.c (60a2f25de7b8b785baee2932db932ae9a5b8c86d) pgalloc.c (208da1d5fc3c67d8ae5d34e844fd67cc47a136f0)
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Page table allocation functions
4 *
5 * Copyright IBM Corp. 2016
6 * Author(s): Martin Schwidefsky <schwidefsky@de.ibm.com>
7 */
8

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

59}
60
61static void __crst_table_upgrade(void *arg)
62{
63 struct mm_struct *mm = arg;
64
65 /* change all active ASCEs to avoid the creation of new TLBs */
66 if (current->active_mm == mm) {
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Page table allocation functions
4 *
5 * Copyright IBM Corp. 2016
6 * Author(s): Martin Schwidefsky <schwidefsky@de.ibm.com>
7 */
8

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

59}
60
61static void __crst_table_upgrade(void *arg)
62{
63 struct mm_struct *mm = arg;
64
65 /* change all active ASCEs to avoid the creation of new TLBs */
66 if (current->active_mm == mm) {
67 S390_lowcore.user_asce.val = mm->context.asce;
68 local_ctl_load(7, &S390_lowcore.user_asce);
67 get_lowcore()->user_asce.val = mm->context.asce;
68 local_ctl_load(7, &get_lowcore()->user_asce);
69 }
70 __tlb_flush_local();
71}
72
73int crst_table_upgrade(struct mm_struct *mm, unsigned long end)
74{
75 unsigned long *pgd = NULL, *p4d = NULL, *__pgd;
76 unsigned long asce_limit = mm->context.asce_limit;

--- 443 unchanged lines hidden ---
69 }
70 __tlb_flush_local();
71}
72
73int crst_table_upgrade(struct mm_struct *mm, unsigned long end)
74{
75 unsigned long *pgd = NULL, *p4d = NULL, *__pgd;
76 unsigned long asce_limit = mm->context.asce_limit;

--- 443 unchanged lines hidden ---