2 * Jailhouse, a Linux-based partitioning hypervisor
4 * Copyright (c) Siemens AG, 2013
7 * Jan Kiszka <jan.kiszka@siemens.com>
9 * This work is licensed under the terms of the GNU GPL, version 2. See
10 * the COPYING file in the top-level directory.
13 #define JAILHOUSE_SIGNATURE "JAILHOUS"
21 * Hypervisor entry point.
25 typedef int (*jailhouse_entry)(unsigned int);
27 /** Hypervisor description. */
28 struct jailhouse_header {
29 /** Signature "JAILHOUS".
30 * @note Filled at build time. */
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);
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;