11da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#ifndef __ARM_MMU_H 21da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define __ARM_MMU_H 31da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 4002547b4f86c27bfac5bae344b723d250857be6bRussell King#ifdef CONFIG_MMU 5002547b4f86c27bfac5bae344b723d250857be6bRussell King 61da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldstypedef struct { 7516793c61b3db1f60e0b0d0e3c382bcca9ae84fdRussell King#ifdef CONFIG_CPU_HAS_ASID 88a4e3a9ead7e37ce1505602b564c15da09ac039fWill Deacon atomic64_t id; 9bdae73cd374e28db544fdd9b77de689a36e3c129Catalin Marinas#else 10bdae73cd374e28db544fdd9b77de689a36e3c129Catalin Marinas int switch_pending; 111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#endif 128a4e3a9ead7e37ce1505602b564c15da09ac039fWill Deacon unsigned int vmalloc_seq; 1348be69a026b2c17350a5ef18a1959a919f60be7dRussell King unsigned long sigpage; 141da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds} mm_context_t; 151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 16516793c61b3db1f60e0b0d0e3c382bcca9ae84fdRussell King#ifdef CONFIG_CPU_HAS_ASID 17b5466f8728527a05a493cc4abe9e6f034a1bbaabWill Deacon#define ASID_BITS 8 18b5466f8728527a05a493cc4abe9e6f034a1bbaabWill Deacon#define ASID_MASK ((~0ULL) << ASID_BITS) 19a1af3474487cc3b8731b990dceac6b6aad7f3ed8Victor Kamensky#define ASID(mm) ((unsigned int)((mm)->context.id.counter & ~ASID_MASK)) 201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#else 211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define ASID(mm) (0) 221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#endif 231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds 24002547b4f86c27bfac5bae344b723d250857be6bRussell King#else 25002547b4f86c27bfac5bae344b723d250857be6bRussell King 26002547b4f86c27bfac5bae344b723d250857be6bRussell King/* 27002547b4f86c27bfac5bae344b723d250857be6bRussell King * From nommu.h: 28002547b4f86c27bfac5bae344b723d250857be6bRussell King * Copyright (C) 2002, David McCullough <davidm@snapgear.com> 29002547b4f86c27bfac5bae344b723d250857be6bRussell King * modified for 2.6 by Hyok S. Choi <hyok.choi@samsung.com> 30002547b4f86c27bfac5bae344b723d250857be6bRussell King */ 31002547b4f86c27bfac5bae344b723d250857be6bRussell Kingtypedef struct { 328a4e3a9ead7e37ce1505602b564c15da09ac039fWill Deacon unsigned long end_brk; 33002547b4f86c27bfac5bae344b723d250857be6bRussell King} mm_context_t; 34002547b4f86c27bfac5bae344b723d250857be6bRussell King 35002547b4f86c27bfac5bae344b723d250857be6bRussell King#endif 36002547b4f86c27bfac5bae344b723d250857be6bRussell King 371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#endif 38