ia64/xen-unstable

view buildconfigs/mk.netbsd-2.0-xenU @ 7072:f9296342d9b2

Detangle the restart/reboot/halt/save/restore code. There is now one point
for management of shutdown state, XendDomainInfo.refreshShutdown, which is
able to cope whatever the current state of the domain. This fixes bug #124:
running reboot within a domU doesn't bring the domain back up after shutdown,
and bug #256: "xm reboot" could not make domU reboot.

Fix the refreshing inside XendDomain to ensure that the values returned by xm
list reflect reality correctly. We were removing XendDomainInfo instances,
but not creating them on start-up, so if xend were restarted, domain
information was being lost.

Merge XendDomain.dom0_unknown and initial_refresh into
XendDomainInfo.recreate.

Catch exceptions inside callInfo, and reraise them as XendErrors.

Remove unused XendDomain.close.

Further improvements are needed to XendDomainInfo to ensure that it avoids all
race conditions on shutdown, and can cope correctly with xend restarting
during a shutdown.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
author emellor@ewan
date Tue Sep 27 13:53:06 2005 +0100 (2005-09-27)
parents bb2558cbc4f8
children
line source
2 OS = netbsd
4 NETBSD_RELEASE ?= 2.0
5 NETBSD_CVSSNAP ?= 20050309
7 EXTRAVERSION = xenU
9 FULLVERSION = $(NETBSD_VER)-$(EXTRAVERSION)
11 NETBSD_DIR = $(OS)-$(FULLVERSION)
13 .PHONY: build clean mrproper mkpatch
15 include buildconfigs/Rules.mk
17 build: $(OS)-$(EXTRAVERSION)
19 netbsd-%-tools.tar.bz2:
20 @echo "Cannot find netbsd-$(NETBSD_VER)-tools.tar.gz in path $(NETBSD_SRC_PATH)"
21 wget http://www.cl.cam.ac.uk/Research/SRG/netos/xen/downloads/netbsd-$*-tools.tar.bz2 -O./$@
23 netbsd-%-tools: netbsd-%-tools.tar.bz2
24 tar -jxf $<
25 touch $@ # update timestamp to avoid rebuild
27 $(NETBSD_DIR)/.valid: ref-$(OS)-$(NETBSD_VER)/.valid-ref
28 $(RM) -rf $(NETBSD_DIR)
29 cp -al $(<D) $(NETBSD_DIR)
30 # Apply arch-xen patches
31 ( cd netbsd-$(NETBSD_VER)-xen-sparse ; \
32 ./mkbuildtree ../$(NETBSD_DIR) )
33 @touch $(NETBSD_DIR)/.valid
35 # build the specified netbsd tree
36 netbsd-xen%: $(NETBSD_DIR)/.valid netbsd-$(NETBSD_RELEASE)-tools
37 $(MAKE) -C netbsd-$(FULLVERSION) config
38 $(MAKE) -C netbsd-$(FULLVERSION) netbsd
39 $(MAKE) -C netbsd-$(FULLVERSION) INSTALL_PATH=$(DESTDIR) INSTALL_NAME=boot/netbsd-$(NETBSD_VER)-xen$* install
41 clean::
42 $(MAKE) -C netbsd-$(FULLVERSION) clean
44 delete:
45 rm -rf tmp-$(OS)-$(NETBSD_VER) $(NETBSD_DIR)