2005-04-17 05:20:36 +07:00
|
|
|
#ifndef __ARM_MMU_H
|
|
|
|
#define __ARM_MMU_H
|
|
|
|
|
2006-06-21 02:46:52 +07:00
|
|
|
#ifdef CONFIG_MMU
|
|
|
|
|
2005-04-17 05:20:36 +07:00
|
|
|
typedef struct {
|
2007-05-17 16:19:23 +07:00
|
|
|
#ifdef CONFIG_CPU_HAS_ASID
|
2013-02-28 23:47:36 +07:00
|
|
|
atomic64_t id;
|
2013-07-23 22:15:36 +07:00
|
|
|
#else
|
|
|
|
int switch_pending;
|
2005-04-17 05:20:36 +07:00
|
|
|
#endif
|
2013-02-28 23:47:36 +07:00
|
|
|
unsigned int vmalloc_seq;
|
2013-07-24 06:29:18 +07:00
|
|
|
unsigned long sigpage;
|
2015-03-26 01:13:16 +07:00
|
|
|
#ifdef CONFIG_VDSO
|
|
|
|
unsigned long vdso;
|
|
|
|
#endif
|
2005-04-17 05:20:36 +07:00
|
|
|
} mm_context_t;
|
|
|
|
|
2007-05-17 16:19:23 +07:00
|
|
|
#ifdef CONFIG_CPU_HAS_ASID
|
2012-06-15 20:47:31 +07:00
|
|
|
#define ASID_BITS 8
|
|
|
|
#define ASID_MASK ((~0ULL) << ASID_BITS)
|
2013-10-07 22:48:23 +07:00
|
|
|
#define ASID(mm) ((unsigned int)((mm)->context.id.counter & ~ASID_MASK))
|
2005-04-17 05:20:36 +07:00
|
|
|
#else
|
|
|
|
#define ASID(mm) (0)
|
|
|
|
#endif
|
|
|
|
|
2006-06-21 02:46:52 +07:00
|
|
|
#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 {
|
2013-02-28 23:47:36 +07:00
|
|
|
unsigned long end_brk;
|
2006-06-21 02:46:52 +07:00
|
|
|
} mm_context_t;
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
2005-04-17 05:20:36 +07:00
|
|
|
#endif
|