]> rtime.felk.cvut.cz Git - jailhouse.git/blob - hypervisor/arch/x86/include/asm/cell.h
core: Rename "Linux cell" to "root cell"
[jailhouse.git] / hypervisor / arch / x86 / 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/paging.h>
17
18 #include <jailhouse/cell-config.h>
19 #include <jailhouse/hypercall.h>
20
21 struct cell {
22         struct {
23                 /* should be first as it requires page alignment */
24                 u8 __attribute__((aligned(PAGE_SIZE))) io_bitmap[2*PAGE_SIZE];
25                 struct paging_structures ept_structs;
26         } vmx;
27
28         struct {
29                 struct paging_structures pg_structs;
30         } vtd;
31
32         unsigned int id;
33         unsigned int data_pages;
34         struct jailhouse_cell_desc *config;
35
36         struct cpu_set *cpu_set;
37         struct cpu_set small_cpu_set;
38
39         struct cell *next;
40
41         union {
42                 struct jailhouse_comm_region comm_region;
43                 u8 padding[PAGE_SIZE];
44         } __attribute__((aligned(PAGE_SIZE))) comm_page;
45 };
46
47 extern struct cell root_cell;
48
49 #endif /* !_JAILHOUSE_ASM_CELL_H */