ia64/xen-unstable

view stubdom/README @ 19734:4fb8a6c993e2

VT-d: correct way to submit command to GCMD register

Per VT-d spec, software should submit only one "incremental" command
at a time to Global Command reigster. Current implementation uses a
variable (gcmd) to record the state of Global Status register. It's
error prone.

Signed-off-by: Weidong Han <weidong.han@intel.com>
author Keir Fraser <keir.fraser@citrix.com>
date Fri Jun 05 09:29:42 2009 +0100 (2009-06-05)
parents c6b7c6a3e5b3
children
line source
1 IOEMU stubdom
2 =============
4 This boosts HVM performance by putting ioemu in its own lightweight domain.
6 General Configuration
7 =====================
9 Due to a race between the creation of the IOEMU stubdomain itself and allocation
10 of video memory for the HVM domain, you need to avoid the need for ballooning,
11 by using the hypervisor dom0_mem= option for instance.
14 There is a sample configuration set in xmexample.hvm-stubdom
16 In your HVM config "hvmconfig" use /usr/lib/xen/bin/stubdom-dm as dm script:
18 device_model = '/usr/lib/xen/bin/stubdom-dm'
21 To run
22 ======
24 mkdir -p /exports/usr/share/xen/qemu
25 ln -s /usr/share/xen/qemu/keymaps /exports/usr/share/xen/qemu
26 mkdir -p /exports/var/lib
27 ln -s /var/lib/xen /exports/var/lib
28 /usr/sbin/fs-backend &
30 xm create hvmconfig
34 PV-GRUB
35 =======
37 This replaces pygrub to boot domU images safely: it runs the regular grub
38 inside the created domain itself and uses regular domU facilities to read the
39 disk / fetch files from network etc. ; it eventually loads the PV kernel and
40 chain-boots it.
42 Configuration
43 =============
45 In your PV config,
47 - use /usr/lib/xen/boot/pv-grub.gz as kernel:
49 kernel = "/usr/lib/xen/boot/pv-grub.gz"
51 - set the path to menu.lst, as seen from the domU, in extra:
53 extra = "(hd0,0)/boot/grub/menu.lst"
55 you can also use a tftp path (dhcp will be automatically performed):
57 extra = "(nd)/somepath/menu.lst"
59 or you can set it in option 150 of your dhcp server and leave extra empty
61 Limitations
62 ===========
64 - You can not boot a 64bit kernel with a 32bit-compiled PV-GRUB and vice-versa.
65 To cross-compile a 32bit PV-GRUB,
67 export XEN_TARGET_ARCH=x86_32
69 - bootsplash is supported, but the ioemu backend does not yet support restart
70 for use by the booted kernel.
73 Your own stubdom
74 ================
76 By running
78 cd stubdom/
79 make c-stubdom
81 or
83 cd stubdom/
84 make caml-stubdom
86 you can compile examples of C or caml stub domain kernels. You can use these
87 and the relevant Makefile rules as basis to build your own stub domain kernel.
88 Available libraries are libc, libxc, libxs, zlib and libpci.