package mirage-xen

  1. Overview
  2. Docs

Get the start info page.

type t = {
  1. magic : string;
    (*

    "xen-<version>-<platform>".

    *)
  2. nr_pages : int;
    (*

    Total pages allocated to this domain.

    *)
  3. shared_info : int;
    (*

    MACHINE address of shared info struct.

    *)
  4. flags : int;
    (*

    SIF_xxx flags.

    *)
  5. store_mfn : int;
    (*

    MACHINE page number of the shared page used for communication with the XenStore.

    *)
  6. store_evtchn : int;
    (*

    Event channel for communication with the XenStore.

    *)
  7. console_mfn : int;
    (*

    MACHINE page number of console page.

    *)
  8. console_evtchn : int;
    (*

    Event channel for console page.

    *)
  9. pt_base : int;
    (*

    VIRTUAL address of page directory.

    *)
  10. nr_pt_frames : int;
    (*

    Number of bootstrap p.t. frames.

    *)
  11. mfn_list : int;
    (*

    VIRTUAL address of page-frame list.

    *)
  12. mod_start : int;
    (*

    VIRTUAL address of pre-loaded module.

    *)
  13. mod_len : int;
    (*

    Size (bytes) of pre-loaded module.

    *)
  14. cmd_line : string;
    (*

    Command-line arguments passed to the unikernel.

    *)
  15. first_p2m_pfn : int;
    (*

    1st pfn forming initial P->M table.

    *)
  16. nr_p2m_frames : int;
    (*

    # of pfns forming initial P->M table.

    *)
}
val get : unit -> t

get () is the record containing the start info page.

val console_start_page : unit -> Cstruct.t

console_start_page () is the console page automatically allocated by Xen.

val xenstore_start_page : unit -> Cstruct.t

xenstore_start_page () is the xenstore page automatically allocated by Xen.