mmu.h (949B)
1/* SPDX-License-Identifier: GPL-2.0 */ 2#ifndef __ARM_MMU_H 3#define __ARM_MMU_H 4 5#ifdef CONFIG_MMU 6 7typedef struct { 8#ifdef CONFIG_CPU_HAS_ASID 9 atomic64_t id; 10#else 11 int switch_pending; 12#endif 13 atomic_t vmalloc_seq; 14 unsigned long sigpage; 15#ifdef CONFIG_VDSO 16 unsigned long vdso; 17#endif 18#ifdef CONFIG_BINFMT_ELF_FDPIC 19 unsigned long exec_fdpic_loadmap; 20 unsigned long interp_fdpic_loadmap; 21#endif 22} mm_context_t; 23 24#ifdef CONFIG_CPU_HAS_ASID 25#define ASID_BITS 8 26#define ASID_MASK ((~0ULL) << ASID_BITS) 27#define ASID(mm) ((unsigned int)((mm)->context.id.counter & ~ASID_MASK)) 28#else 29#define ASID(mm) (0) 30#endif 31 32#else 33 34/* 35 * From nommu.h: 36 * Copyright (C) 2002, David McCullough <davidm@snapgear.com> 37 * modified for 2.6 by Hyok S. Choi <hyok.choi@samsung.com> 38 */ 39typedef struct { 40 unsigned long end_brk; 41#ifdef CONFIG_BINFMT_ELF_FDPIC 42 unsigned long exec_fdpic_loadmap; 43 unsigned long interp_fdpic_loadmap; 44#endif 45} mm_context_t; 46 47#endif 48 49#endif