]> rtime.felk.cvut.cz Git - jailhouse.git/blob - hypervisor/arch/x86/include/asm/cell.h
Basic DMA remapping support via VT-d
[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 <asm/types.h>
17 #include <asm/paging.h>
18
19 #include <jailhouse/cell-config.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                 pgd_t *ept;
26         } vmx;
27
28         struct {
29                 pgd_t *page_table;
30         } vtd;
31
32         char name[JAILHOUSE_CELL_NAME_MAXLEN+1];
33         unsigned int id;
34
35         struct cpu_set *cpu_set;
36         struct cpu_set small_cpu_set;
37
38         unsigned long page_offset;
39
40         struct cell *next;
41 };
42
43 extern struct cell *cell_list;
44
45 #endif /* !_JAILHOUSE_ASM_CELL_H */