ia64/xen-unstable

view Makefile @ 5836:07884fe7c5ce

Save per cpu IDT information into the VMCS host area.

Without this, we may be saving the IDT info from the wrong cpu into the
vmcs.
This makes domU work in the presence of VMX domains on SMP/HT enabled
machines.

Signed-off-by: Chengyuan Li <chengyuan.li@intel.com>
Signed-off-by: Xiaofeng Ling <xiaofeng.ling@intel.com>=20
Signed-off-by: Arun Sharma <arun.sharma@intel.com>
author kaf24@firebug.cl.cam.ac.uk
date Thu Jul 21 13:59:49 2005 +0000 (2005-07-21)
parents 722c372fe201
children b53a65034532 1efe6f4163ee e173a853dc46 d4fd332df775 04dfb5158f3a f294acb25858
line source
1 #
2 # Grand Unified Makefile for Xen.
3 #
5 # Default is to install to local 'dist' directory.
6 DISTDIR ?= $(CURDIR)/dist
7 DESTDIR ?= $(DISTDIR)/install
9 INSTALL := install
10 INSTALL_DIR := $(INSTALL) -d -m0755
11 INSTALL_DATA := $(INSTALL) -m0644
12 INSTALL_PROG := $(INSTALL) -m0755
14 KERNELS ?= linux-2.6-xen0 linux-2.6-xenU
15 # linux-2.4-xen0 linux-2.4-xenU netbsd-2.0-xenU
16 # You may use wildcards in the above e.g. KERNELS=*2.4*
18 XKERNELS := $(foreach kernel, $(KERNELS), $(patsubst buildconfigs/mk.%,%,$(wildcard buildconfigs/mk.$(kernel))) )
20 export DESTDIR
22 # Export target architecture overrides to Xen and Linux sub-trees.
23 ifneq ($(XEN_TARGET_ARCH),)
24 SUBARCH := $(subst x86_32,i386,$(XEN_TARGET_ARCH))
25 export XEN_TARGET_ARCH SUBARCH
26 endif
28 # Default target must appear before any include lines
29 all: dist
31 include Config.mk
32 include buildconfigs/Rules.mk
34 ifeq ($(XEN_TARGET_X86_PAE),y)
35 export pae=y
36 endif
38 .PHONY: all dist install xen tools kernels docs world clean mkpatches mrproper
39 .PHONY: kbuild kdelete kclean
41 # build and install everything into the standard system directories
42 install: install-xen install-tools install-kernels install-docs
44 build: kernels
45 $(MAKE) -C xen build
46 $(MAKE) -C tools build
47 $(MAKE) -C docs build
49 # build and install everything into local dist directory
50 dist: xen tools kernels docs
51 $(INSTALL_DIR) $(DISTDIR)/check
52 $(INSTALL_DATA) ./COPYING $(DISTDIR)
53 $(INSTALL_DATA) ./README $(DISTDIR)
54 $(INSTALL_PROG) ./install.sh $(DISTDIR)
55 $(INSTALL_PROG) tools/check/chk tools/check/check_* $(DISTDIR)/check
57 xen:
58 $(MAKE) -C xen install
60 tools:
61 $(MAKE) -C tools install
63 kernels:
64 for i in $(XKERNELS) ; do $(MAKE) $$i-build || exit 1; done
66 docs:
67 sh ./docs/check_pkgs && $(MAKE) -C docs install || true
69 # Build all the various kernels and modules
70 kbuild: kernels
72 # Delete the kernel build trees entirely
73 kdelete:
74 for i in $(XKERNELS) ; do $(MAKE) $$i-delete ; done
76 # Clean the kernel build trees
77 kclean:
78 for i in $(XKERNELS) ; do $(MAKE) $$i-clean ; done
80 # Make patches from kernel sparse trees
81 mkpatches:
82 for i in $(ALLSPARSETREES) ; do $(MAKE) $$i-xen.patch; done
84 # build xen, the tools, and a domain 0 plus unprivileged linux-xen images,
85 # and place them in the install directory. 'make install' should then
86 # copy them to the normal system directories
87 world:
88 $(MAKE) clean
89 $(MAKE) kdelete
90 $(MAKE) dist
92 # clean doesn't do a kclean
93 clean::
94 $(MAKE) -C xen clean
95 $(MAKE) -C tools clean
96 $(MAKE) -C docs clean
98 # clean, but blow away kernel build tree plus tar balls
99 mrproper: clean
100 rm -rf dist patches/tmp
101 for i in $(ALLKERNELS) ; do $(MAKE) $$i-delete ; done
102 for i in $(ALLSPARSETREES) ; do $(MAKE) $$i-mrproper ; done
104 install-twisted:
105 wget http://www.twistedmatrix.com/products/get-current.epy
106 tar -zxf Twisted-*.tar.gz
107 cd Twisted-* && python setup.py install
109 install-logging: LOGGING=logging-0.4.9.2
110 install-logging:
111 [ -f $(LOGGING).tar.gz ] || wget http://www.red-dove.com/$(LOGGING).tar.gz
112 tar -zxf $(LOGGING).tar.gz
113 cd $(LOGGING) && python setup.py install
115 # handy target to upgrade iptables (use rpm or apt-get in preference)
116 install-iptables:
117 wget http://www.netfilter.org/files/iptables-1.2.11.tar.bz2
118 tar -jxf iptables-1.2.11.tar.bz2
119 $(MAKE) -C iptables-1.2.11 PREFIX= KERNEL_DIR=../linux-$(LINUX_VER)-xen0 install
121 install-%: DESTDIR=
122 install-%: %
123 @: # do nothing
125 help:
126 @echo 'Installation targets:'
127 @echo ' install - build and install everything'
128 @echo ' install-xen - build and install the Xen hypervisor'
129 @echo ' install-tools - build and install the control tools'
130 @echo ' install-kernels - build and install guest kernels'
131 @echo ' install-docs - build and install documentation'
132 @echo ''
133 @echo 'Building targets:'
134 @echo ' dist - build and install everything into local dist directory'
135 @echo ' world - clean everything, delete guest kernel build'
136 @echo ' trees then make dist'
137 @echo ' xen - build and install Xen hypervisor'
138 @echo ' tools - build and install tools'
139 @echo ' kernels - build and install guest kernels'
140 @echo ' kbuild - synonym for make kernels'
141 @echo ' docs - build and install docs'
142 @echo ''
143 @echo 'Cleaning targets:'
144 @echo ' clean - clean the Xen, tools and docs (but not'
145 @echo ' guest kernel) trees'
146 @echo ' mrproper - clean plus delete kernel tarballs and kernel'
147 @echo ' build trees'
148 @echo ' kdelete - delete guest kernel build trees'
149 @echo ' kclean - clean guest kernel build trees'
150 @echo ''
151 @echo 'Dependency installation targets:'
152 @echo ' install-twisted - install the Twisted Matrix Framework'
153 @echo ' install-logging - install the Python Logging package'
154 @echo ' install-iptables - install iptables tools'
155 @echo ''
156 @echo 'Miscellaneous targets:'
157 @echo ' mkpatches - make patches against vanilla kernels from'
158 @echo ' sparse trees'
159 @echo ' uninstall - attempt to remove installed Xen tools (use'
160 @echo ' with extreme care!)'
162 # Use this target with extreme care!
163 uninstall: DESTDIR=
164 uninstall: D=$(DESTDIR)
165 uninstall:
166 [ -d $(D)/etc/xen ] && mv -f $(D)/etc/xen $(D)/etc/xen.old-`date +%s`
167 rm -rf $(D)/etc/init.d/xend*
168 rm -rf $(D)/usr/$(LIBDIR)/libxc* $(D)/usr/$(LIBDIR)/libxutil*
169 rm -rf $(D)/usr/$(LIBDIR)/python/xen $(D)/usr/include/xen
170 rm -rf $(D)/usr/$(LIBDIR)/share/xen $(D)/usr/$(LIBDIR)/libxenstore*
171 rm -rf $(D)/var/run/xen* $(D)/var/lib/xen*
172 rm -rf $(D)/usr/include/xcs_proto.h $(D)/usr/include/xc.h
173 rm -rf $(D)/usr/include/xs_lib.h $(D)/usr/include/xs.h
174 rm -rf $(D)/usr/sbin/xcs $(D)/usr/sbin/xcsdump $(D)/usr/sbin/xen*
175 rm -rf $(D)/usr/sbin/netfix
176 rm -rf $(D)/usr/sbin/xfrd $(D)/usr/sbin/xm
177 rm -rf $(D)/usr/share/doc/xen $(D)/usr/man/man*/xentrace*
178 rm -rf $(D)/usr/bin/xen* $(D)/usr/bin/miniterm
179 rm -rf $(D)/boot/*xen*
180 rm -rf $(D)/lib/modules/*xen*
182 # Legacy targets for compatibility
183 linux24:
184 $(MAKE) 'KERNELS=linux-2.4*' kernels
186 linux26:
187 $(MAKE) 'KERNELS=linux-2.6*' kernels
189 netbsd20:
190 $(MAKE) netbsd-2.0-xenU-build