linux/arch/arm/include/asm/mmu.h
<<
>>
Prefs
   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        unsigned int    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
  50