1/* === Domain memory breakdown: HVM guests ==================================
2
3             +  +----------+                                     +
4             |  | shadow   |                                     |
5             |  +----------+                                     |
6    overhead |  | extra    |                                     |
7             |  | external |                                     |
8             |  +----------+                          +          |
9             |  | extra    |                          |          |
10             |  | internal |                          |          |
11             +  +----------+                +         |          | footprint
12             |  | video    |                |         |          |
13             |  +----------+  +    +        |         | xen      |
14             |  |          |  |    |        | actual  | maximum  |
15             |  |          |  |    |        | target  |          |
16             |  | guest    |  |    | build  |         |          |
17             |  |          |  |    | start  |         |          |
18      static |  |          |  |    |        |         |          |
19     maximum |  +----------+  |    +        +         +          +
20             |  |          |  |
21             |  |          |  |
22             |  | balloon  |  | build
23             |  |          |  | maximum
24             |  |          |  |
25             +  +----------+  +
26
27
28    extra internal = LIBXL_MAXMEM_CONSTANT
29    extra external = LIBXL_HVM_EXTRA_MEMORY
30    shadow = libxl_domain_build_info.shadow_memkb
31    static maximum = libxl_domain_build_info.max_memkb
32    video = libxl_domain_build_info.video_memkb
33    build start = libxl_domain_build_info.target_memkb
34    libxl_domain_setmaxmem -> xen maximum
35    libxl_set_memory_target -> actual target
36
37
38 === Domain memory breakdown: PV guests ==================================
39
40
41             +  +----------+                                     +
42    overhead |  | extra    |                                     |
43             |  | external |                                     |
44             |  +----------+                          +          |
45             |  | extra    |                          |          |
46             |  | internal |                          |          |
47             +  +----------+  +    +        +         |          | footprint
48             |  |          |  |    |        |         | xen      |
49             |  |          |  |    |        | actual  | maximum  |
50             |  | guest    |  |    | build  | target  |          |
51             |  |          |  |    | start  |         |          |
52      static |  |          |  |    |        |         |          |
53     maximum |  +----------+  |    +        +         +          +
54             |  |          |  |
55             |  |          |  |
56             |  | balloon  |  | build
57             |  |          |  | maximum
58             |  |          |  |
59             +  +----------+  +
60
61
62    extra internal = LIBXL_MAXMEM_CONSTANT
63    extra external = LIBXL_PV_EXTRA_MEMORY
64    static maximum = libxl_domain_build_info.max_memkb
65    build start = libxl_domain_build_info.target_memkb
66    libxl_domain_setmaxmem -> xen maximum
67    libxl_set_memory_target -> actual target
68
69
70 ========================================================================= */
71