1*4f04d8f0SCatalin Marinas /* 2*4f04d8f0SCatalin Marinas * Copyright (C) 2012 ARM Ltd. 3*4f04d8f0SCatalin Marinas * 4*4f04d8f0SCatalin Marinas * This program is free software; you can redistribute it and/or modify 5*4f04d8f0SCatalin Marinas * it under the terms of the GNU General Public License version 2 as 6*4f04d8f0SCatalin Marinas * published by the Free Software Foundation. 7*4f04d8f0SCatalin Marinas * 8*4f04d8f0SCatalin Marinas * This program is distributed in the hope that it will be useful, 9*4f04d8f0SCatalin Marinas * but WITHOUT ANY WARRANTY; without even the implied warranty of 10*4f04d8f0SCatalin Marinas * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11*4f04d8f0SCatalin Marinas * GNU General Public License for more details. 12*4f04d8f0SCatalin Marinas * 13*4f04d8f0SCatalin Marinas * You should have received a copy of the GNU General Public License 14*4f04d8f0SCatalin Marinas * along with this program. If not, see <http://www.gnu.org/licenses/>. 15*4f04d8f0SCatalin Marinas */ 16*4f04d8f0SCatalin Marinas #ifndef __ASM_MMU_H 17*4f04d8f0SCatalin Marinas #define __ASM_MMU_H 18*4f04d8f0SCatalin Marinas 19*4f04d8f0SCatalin Marinas typedef struct { 20*4f04d8f0SCatalin Marinas unsigned int id; 21*4f04d8f0SCatalin Marinas raw_spinlock_t id_lock; 22*4f04d8f0SCatalin Marinas void *vdso; 23*4f04d8f0SCatalin Marinas } mm_context_t; 24*4f04d8f0SCatalin Marinas 25*4f04d8f0SCatalin Marinas #define ASID(mm) ((mm)->context.id & 0xffff) 26*4f04d8f0SCatalin Marinas 27*4f04d8f0SCatalin Marinas extern void paging_init(void); 28*4f04d8f0SCatalin Marinas extern void setup_mm_for_reboot(void); 29*4f04d8f0SCatalin Marinas 30*4f04d8f0SCatalin Marinas #endif 31