/* SPDX-License-Identifier: GPL-2.0 */ #ifndef __ARM_MMU_H #define __ARM_MMU_H #ifdef [31mCONFIG_MMU[0m typedef struct { #ifdef [31mCONFIG_CPU_HAS_ASID[0m atomic64_t id; #else int switch_pending; #endif unsigned int vmalloc_seq; unsigned long sigpage; #ifdef [31mCONFIG_VDSO[0m unsigned long vdso; #endif #ifdef [31mCONFIG_BINFMT_ELF_FDPIC[0m unsigned long exec_fdpic_loadmap; unsigned long interp_fdpic_loadmap; #endif } mm_context_t; #ifdef [31mCONFIG_CPU_HAS_ASID[0m #define ASID_BITS 8 #define ASID_MASK ((~0ULL) << ASID_BITS) #define ASID(mm) ((unsigned int)((mm)->context.id.counter & ~ASID_MASK)) #else #define ASID(mm) (0) #endif #else /* * From nommu.h: * Copyright (C) 2002, David McCullough <davidm@snapgear.com> * modified for 2.6 by Hyok S. Choi <hyok.choi@samsung.com> */ typedef struct { unsigned long end_brk; #ifdef [31mCONFIG_BINFMT_ELF_FDPIC[0m unsigned long exec_fdpic_loadmap; unsigned long interp_fdpic_loadmap; #endif } mm_context_t; #endif #endif |