]> rtime.felk.cvut.cz Git - jailhouse.git/blobdiff - hypervisor/include/jailhouse/header.h
Merge remote-tracking branch 'kiszka/master'
[jailhouse.git] / hypervisor / include / jailhouse / header.h
index debc6539a15a4b4959e08c6036790c9d58360821..4a4d1cb89cea2c14678e2eb9518a7f8a78a87306 100644 (file)
 
 #define JAILHOUSE_SIGNATURE    "JAILHOUS"
 
+/**
+ * @ingroup Setup
+ * @{
+ */
+
+/**
+ * Hypervisor entry point.
+ *
+ * @see arch_entry
+ */
+typedef int (*jailhouse_entry)(unsigned int);
+
+/** Hypervisor description. */
 struct jailhouse_header {
-       /* filled at build time */
+       /** Signature "JAILHOUS".
+        * @note Filled at build time. */
        char signature[8];
+       /** Size of hypervisor core, rounded up to page boundary.
+        * @note Filled at build time. */
        unsigned long core_size;
+       /** Size of per-CPU data structure.
+        * @note Filled at build time. */
        unsigned long percpu_size;
-       unsigned long entry;
+       /** Entry point (arch_entry()).
+        * @note Filled at build time. */
+       int (*entry)(unsigned int);
 
-       /* filled by loader */
-       unsigned long size;
-       unsigned long page_offset;
-       unsigned int possible_cpus;
+       /** Configured maximum logical CPU ID + 1.
+        * @note Filled by Linux loader driver before entry. */
+       unsigned int max_cpus;
+       /** Number of online CPUs that will call the entry function.
+        * @note Filled by Linux loader driver before entry. */
        unsigned int online_cpus;
+       /** Virtual base address of the debug console device (if used).
+        * @note Filled by Linux loader driver before entry. */
+       void *debug_console_base;
 };
-
-typedef int (*entry_func)(unsigned int);