xref: /openbmc/linux/arch/arm64/include/asm/mmu.h (revision 4f04d8f00545110a0e525ae2fb62ab38cb417236)
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