]> rtime.felk.cvut.cz Git - jailhouse.git/blob - hypervisor/include/jailhouse/header.h
console: rename uart to console
[jailhouse.git] / hypervisor / include / jailhouse / header.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 #define JAILHOUSE_SIGNATURE     "JAILHOUS"
14
15 /**
16  * @ingroup Setup
17  * @{
18  */
19
20 /**
21  * Hypervisor entry point.
22  *
23  * @see arch_entry
24  */
25 typedef int (*jailhouse_entry)(unsigned int);
26
27 /** Hypervisor description. */
28 struct jailhouse_header {
29         /** Signature "JAILHOUS".
30          * @note Filled at build time. */
31         char signature[8];
32         /** Size of hypervisor core.
33          * @note Filled at build time. */
34         unsigned long core_size;
35         /** Size of per-CPU data structure.
36          * @note Filled at build time. */
37         unsigned long percpu_size;
38         /** Entry point (arch_entry()).
39          * @note Filled at build time. */
40         int (*entry)(unsigned int);
41
42         /** Configured maximum logical CPU ID + 1.
43          * @note Filled by Linux loader driver before entry. */
44         unsigned int max_cpus;
45         /** Number of online CPUs that will call the entry function.
46          * @note Filled by Linux loader driver before entry. */
47         unsigned int online_cpus;
48         /** Virtual base address of the debug console device (if used).
49          * @note Filled by Linux loader driver before entry. */
50         void *debug_console_base;
51 };