1                                IOEMU stubdom
2                                =============
3
4  This boosts HVM performance by putting ioemu in its own lightweight domain.
5
6General Configuration
7=====================
8
9Due to a race between the creation of the IOEMU stubdomain itself and allocation
10of video memory for the HVM domain, you need to avoid the need for ballooning,
11by using the hypervisor dom0_mem= option for instance.
12
13Using with XL
14-------------
15
16The enable IOEMU stub domains set the following in your domain
17config:
18
19    device_model_stubdomain_override = 1
20
21See xl.cfg(5) for more details of the xl domain configuration syntax
22and http://wiki.xen.org/wiki/Device_Model_Stub_Domains for more
23information on device model stub domains
24
25
26                                   PV-GRUB
27                                   =======
28
29  This replaces pygrub to boot domU images safely: it runs the regular grub
30inside the created domain itself and uses regular domU facilities to read the
31disk / fetch files from network etc. ; it eventually loads the PV kernel and
32chain-boots it.
33
34Configuration
35=============
36
37In your PV config,
38
39- use pv-grub.gz as kernel:
40
41kernel = "pv-grub.gz"
42
43- set the path to menu.lst, as seen from the domU, in extra:
44
45extra = "(hd0,0)/boot/grub/menu.lst"
46
47or you can provide the content of a menu.lst stored in dom0 by passing it as a
48ramdisk:
49
50ramdisk = "/boot/domU-1-menu.lst"
51
52or you can also use a tftp path (dhcp will be automatically performed):
53
54extra = "(nd)/somepath/menu.lst"
55
56or you can set it in option 150 of your dhcp server and leave extra and ramdisk
57empty (dhcp will be automatically performed)
58
59Limitations
60===========
61
62- You can not boot a 64bit kernel with a 32bit-compiled PV-GRUB and vice-versa.
63To cross-compile a 32bit PV-GRUB,
64
65export XEN_TARGET_ARCH=x86_32
66
67- bootsplash is supported, but the ioemu backend does not yet support restart
68for use by the booted kernel.
69
70- PV-GRUB doesn't support virtualized partitions. For instance:
71
72disk = [ 'phy:hda7,hda7,w' ]
73
74will be seen by PV-GRUB as (hd0), not (hd0,6), since GRUB will not see any
75partition table.
76
77
78                                Your own stubdom
79                                ================
80
81  By running
82
83cd stubdom/
84make c-stubdom
85
86  or
87
88cd stubdom/
89make caml-stubdom
90
91  you can compile examples of C or caml stub domain kernels.  You can use these
92and the relevant Makefile rules as basis to build your own stub domain kernel.
93Available libraries are libc, libxc, libxs, zlib and libpci.
94