]> rtime.felk.cvut.cz Git - jailhouse.git/blob - hypervisor/arch/arm/include/asm/cell.h
arm: setup stage 2 MMU for the cells
[jailhouse.git] / hypervisor / arch / arm / include / asm / cell.h
1 /*
2  * Jailhouse, a Linux-based partitioning hypervisor
3  *
4  * Copyright (c) Siemens AG, 2013
5  *
6  * Authors:
7  *  Jan Kiszka <jan.kiszka@siemens.com>
8  *
9  * This work is licensed under the terms of the GNU GPL, version 2.  See
10  * the COPYING file in the top-level directory.
11  */
12
13 #ifndef _JAILHOUSE_ASM_CELL_H
14 #define _JAILHOUSE_ASM_CELL_H
15
16 #include <jailhouse/types.h>
17
18 #ifndef __ASSEMBLY__
19
20 #include <jailhouse/cell-config.h>
21 #include <jailhouse/paging.h>
22 #include <jailhouse/hypercall.h>
23
24 struct arch_cell {
25         struct paging_structures mm;
26 };
27
28 struct cell {
29         struct arch_cell arch;
30
31         unsigned int id;
32         unsigned int data_pages;
33         struct jailhouse_cell_desc *config;
34
35         struct cpu_set *cpu_set;
36         struct cpu_set small_cpu_set;
37
38         bool loadable;
39
40         struct cell *next;
41
42         union {
43                 struct jailhouse_comm_region comm_region;
44                 u8 padding[PAGE_SIZE];
45         } __attribute__((aligned(PAGE_SIZE))) comm_page;
46 };
47
48 extern struct cell root_cell;
49
50 #endif /* !__ASSEMBLY__ */
51 #endif /* !_JAILHOUSE_ASM_CELL_H */