mirror of https://gitee.com/openkylin/linux.git
s390/mm: cleanup virtual memory constants usage
Remove duplicate definitions and consolidate usage of virutal and address translation constants. Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com> Reviewed-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
This commit is contained in:
parent
6a3eb35e56
commit
f75556081a
|
@ -42,11 +42,11 @@ static inline int init_new_context(struct task_struct *tsk,
|
|||
*/
|
||||
case 0:
|
||||
/* context created by exec, set asce limit to 4TB */
|
||||
mm->context.asce_limit = STACK_TOP_MAX;
|
||||
mm->context.asce_limit = _REGION2_SIZE;
|
||||
mm->context.asce = __pa(mm->pgd) | _ASCE_TABLE_LENGTH |
|
||||
_ASCE_USER_BITS | _ASCE_TYPE_REGION3;
|
||||
break;
|
||||
case -PAGE_SIZE:
|
||||
case TASK_SIZE_MAX:
|
||||
/* forked 5-level task, set new asce with new_mm->pgd */
|
||||
mm->context.asce = __pa(mm->pgd) | _ASCE_TABLE_LENGTH |
|
||||
_ASCE_USER_BITS | _ASCE_TYPE_REGION1;
|
||||
|
|
|
@ -93,15 +93,15 @@ extern void __bpon(void);
|
|||
*/
|
||||
|
||||
#define TASK_SIZE_OF(tsk) (test_tsk_thread_flag(tsk, TIF_31BIT) ? \
|
||||
(1UL << 31) : -PAGE_SIZE)
|
||||
_REGION3_SIZE : TASK_SIZE_MAX)
|
||||
#define TASK_UNMAPPED_BASE (test_thread_flag(TIF_31BIT) ? \
|
||||
(1UL << 30) : (1UL << 41))
|
||||
(_REGION3_SIZE >> 1) : (_REGION2_SIZE >> 1))
|
||||
#define TASK_SIZE TASK_SIZE_OF(current)
|
||||
#define TASK_SIZE_MAX (-PAGE_SIZE)
|
||||
|
||||
#define STACK_TOP (test_thread_flag(TIF_31BIT) ? \
|
||||
(1UL << 31) : (1UL << 42))
|
||||
#define STACK_TOP_MAX (1UL << 42)
|
||||
_REGION3_SIZE : _REGION2_SIZE)
|
||||
#define STACK_TOP_MAX _REGION2_SIZE
|
||||
|
||||
#define HAVE_ARCH_PICK_MMAP_LAYOUT
|
||||
|
||||
|
|
|
@ -121,7 +121,7 @@ int crst_table_upgrade(struct mm_struct *mm, unsigned long end)
|
|||
__pgd = (unsigned long *) mm->pgd;
|
||||
pgd_populate(mm, (pgd_t *) pgd, (p4d_t *) __pgd);
|
||||
mm->pgd = (pgd_t *) pgd;
|
||||
mm->context.asce_limit = -PAGE_SIZE;
|
||||
mm->context.asce_limit = TASK_SIZE_MAX;
|
||||
mm->context.asce = __pa(mm->pgd) | _ASCE_TABLE_LENGTH |
|
||||
_ASCE_USER_BITS | _ASCE_TYPE_REGION1;
|
||||
}
|
||||
|
@ -527,7 +527,7 @@ void base_asce_free(unsigned long asce)
|
|||
base_region2_walk(table, 0, _REGION1_SIZE, 0);
|
||||
break;
|
||||
case _ASCE_TYPE_REGION1:
|
||||
base_region1_walk(table, 0, -_PAGE_SIZE, 0);
|
||||
base_region1_walk(table, 0, TASK_SIZE_MAX, 0);
|
||||
break;
|
||||
}
|
||||
base_crst_free(table);
|
||||
|
|
Loading…
Reference in New Issue