]> xenbits.xensource.com Git - people/liuw/stubdom.git/log
people/liuw/stubdom.git
13 years agostubdom: enable xenstored build
Daniel De Graaf [Thu, 9 Feb 2012 18:33:35 +0000 (18:33 +0000)]
stubdom: enable xenstored build

Signed-off-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Committed-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
13 years agomini-os: make frontends and xenbus optional
Daniel De Graaf [Thu, 9 Feb 2012 18:33:32 +0000 (18:33 +0000)]
mini-os: make frontends and xenbus optional

This adds compile-time logic to disable certain frontends in mini-os:
 - pcifront is disabled by default, enabled for ioemu
 - blkfront, netfront, fbfront, kbdfront, consfront are enabled by default
 - xenbus is required for any frontend, and is enabled by default

If all frontends and xenbus are disabled, mini-os will run without
needing to communicate with xenstore, making it suitable to run the
xenstore daemon. The console frontend is not required for the initial
console, only consoles opened via openpt or ptmx.

Signed-off-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Committed-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
13 years agomini-os: Move test functions into test.c
Daniel De Graaf [Thu, 9 Feb 2012 18:33:31 +0000 (18:33 +0000)]
mini-os: Move test functions into test.c

While useful, these test functions should not be compiled into every
mini-os instance that we compile.

Signed-off-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Committed-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
13 years agomini-os: create app-specific configuration
Daniel De Graaf [Thu, 9 Feb 2012 18:33:31 +0000 (18:33 +0000)]
mini-os: create app-specific configuration

Instead of using CONFIG_QEMU and CONFIG_GRUB to enable or disable minios
code, create CONFIG_ items for features and use application-specific
configuration files to enable or disable the features.

The configuration flags are currently added to the compiler command
line; as the number of flags grows this may need to move to a header.

Signed-off-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Committed-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
13 years agostubdom: update README to reference xl configuration syntax
Ian Campbell [Thu, 9 Feb 2012 16:45:26 +0000 (16:45 +0000)]
stubdom: update README to reference xl configuration syntax

Remove reference to fsback -- it was removed some time ago.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
13 years agoRename ioemu-dir as qemu-xen-traditional-dir
stefano.stabellini [Tue, 24 Jan 2012 15:09:29 +0000 (15:09 +0000)]
Rename ioemu-dir as qemu-xen-traditional-dir

From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
13 years agostubdom: allow to build with older tool chain
Jan Beulich [Tue, 13 Dec 2011 12:32:23 +0000 (13:32 +0100)]
stubdom: allow to build with older tool chain

GNU make prior to 3.81 doesn't support $(realpath ...). This fixes a
regression introduced in 23368:0f670f5146c8 (the option tested via
cc-option-add got interpreted as the argument of the -I compiler
option, as its intended argument was blank, and hence the compiler was
falsely considered to support *any* option in the pciutils sub-tree).

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
14 years agopv-grub: Fix for incorrect dom->p2m_host[] list initialization
Daniel Kiper [Wed, 27 Apr 2011 12:29:14 +0000 (13:29 +0100)]
pv-grub: Fix for incorrect dom->p2m_host[] list initialization

Introduction of Linux Kernel git commit
ceefccc93932b920a8ec6f35f596db05202a12fe (x86: default
CONFIG_PHYSICAL_START and CONFIG_PHYSICAL_ALIGN to 16 MB) revealed
deeply hidden bug in pv-grub. During kernel load stage dom->p2m_host[]
list has been incorrectly initialized.

At the beginning of kernel load stage dom->p2m_host[] list is
populated with current PFN->MFN layout. Later during memory allocation
(memory is allocated page by page in kexec_allocate()) page order is
changed to establish linear layout in new domain. It is done by
exchanging subsequent MFNs with newly allocated MFNs. dom->p2m_host[]
list is indexed by currently requested PFN (it is incremented from 0)
and PFN of newly allocated paged. If PFN of newly allocated page is
less than currently requested PFN then earlier allocated MFN is
overwritten which leads to domain crash later. This patch corrects
that issue. If PFN of newly allocated page is less then currently
requested PFN then relevant PFN/MFN pair is properly calculated and
usual exchange occurs later.

Signed-off-by: Daniel Kiper <dkiper@net-space.pl>
Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
14 years agobuild: Make XEN_ROOT an absolute path.
Keir Fraser [Thu, 17 Mar 2011 10:36:25 +0000 (10:36 +0000)]
build: Make XEN_ROOT an absolute path.

Otherwise make can search the path relative to certain standard paths
such as /usr/include (e.g., the line '-include $(XEN_ROOT)/.config' in
Config.mk suffers from this).

Signed-off-by: Keir Fraser <keir@xen.org>
14 years agostubdom: Fix stubdom-dm using "grep" improperly
John Weekes [Tue, 11 Jan 2011 16:42:41 +0000 (16:42 +0000)]
stubdom: Fix stubdom-dm using "grep" improperly

stubdom-dm uses "grep" on "xm list" output to determine whether it is
already running. The existing behavior is to use "grep $domname-dm" but
this will result in a false-positive in the case of another domU running
whose name ends with the full new name; for instance, if "abctest-dm" is
running, a new "test-dm" will spin forever, waiting for it the end.

Any easy fix is to have it use "grep -w" instead of "grep", searching
for the whole word only.

It also might be worth considering a switch to "xl list" from "xm list",
here and in other places.

Signed-off-by: John Weekes <lists.xen@nuclearfallout.net>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
14 years agoReapply 61c0c52a8c6c "qemu-xen: build adjustments"
Ian Jackson [Tue, 23 Nov 2010 19:12:55 +0000 (19:12 +0000)]
Reapply 61c0c52a8c6c "qemu-xen: build adjustments"

The changeset
  qemu-xen: build adjustments to support out-of-tree builds
works after all.  Sorry for the noise.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
14 years agoRevert 61c0c52a8c6c "qemu-xen: build adjustments"
Ian Jackson [Tue, 23 Nov 2010 18:38:16 +0000 (18:38 +0000)]
Revert 61c0c52a8c6c "qemu-xen: build adjustments"

It appears that the changeset
  qemu-xen: build adjustments to support out-of-tree builds
broke the build.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
14 years agoqemu-xen: build adjustments to support out-of-tree builds
Jan Beulich [Tue, 23 Nov 2010 16:43:38 +0000 (16:43 +0000)]
qemu-xen: build adjustments to support out-of-tree builds

QEMU by itself can be built outside of its source directory. With the
qemu repository being separate from the hypervisor/tools one it seems
to make sense to make use of this feature, but doing so requires a
couple of adjustments to the Xen changes to it. Basically, if
CONFIG_QEMU is found to indicate an existing directory, this directory
will be used rather than cloning the git repo into the build tree.

[ This changeset is the xen-unstable part of the patch but also
  includes the QEMU_TAG update to pull in the qemu part. -iwj ]

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
14 years agostubdom: allow building with read-only sources
Jan Beulich [Fri, 19 Nov 2010 18:39:33 +0000 (18:39 +0000)]
stubdom: allow building with read-only sources

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
14 years agotools: caml-stubdom: fix "red zone" bug
Patrick Colp [Thu, 28 Oct 2010 11:15:41 +0000 (12:15 +0100)]
tools: caml-stubdom: fix "red zone" bug

According to the AMD64 ABI, the 128-byte area below %rsp is reserved
for scratch space and should not be used by signal, interrupt, or
exception handlers. However, Mini-OS does not adhere to this
interface. As a result, the -mno-red-zone flag must be provided to gcc
in order to force code to be compiled without this assumption. In the
case of the c-stubdom or the ioemu stubdom, Makefile configuration and
flags are inherited from Xen, which includes this flag. However, in
the case of the ocaml stubdom, since an independent ocaml version is
pulled and compiled, with its own make system in place, this flag is
not present.

As a default optimisation (no optimisation flags specified), gcc
generates function header code that uses mov instead of push (to save
a few instructions). However, with the 128-byte scratch space
assumption in place, registers are moved onto the stack *before* %rsp
is updated. This results in cases where when a function is being
called, *after* the first mov <foo>, <offset>(%rsp) but *before* the
%rsp update, sub <bar>, %rsp, if an interrupt is fired, then the stack
will be clobbered (as Mini-OS uses the application stack for its
stack, pushing registers onto the stack on entry and popping them off
on exit).

This patch fixes this issue by passing the -mno-red-zone flag to the
ocaml configure script in the stubdom Makefile.

Signed-off-by: Patrick Colp <pjcolp@cs.ubc.ca>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
14 years agotools/ocaml: Fix caml-stubdom make line to depend on the ocaml cross compiler
Patrick Colp [Tue, 21 Sep 2010 16:54:43 +0000 (17:54 +0100)]
tools/ocaml: Fix caml-stubdom make line to depend on the ocaml cross compiler

The provided sample caml stubdom needs to use the ocaml cross
compiler, but if it hasn't been downloaded and compiled, then it won't
find it and the build will fail.  This makes caml-stubdom depend on
the cross compiler, so it will automatically get built before the
stubdom.

Signed-off-by: Patrick Colp <pjcolp@cs.ubc.ca>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
14 years agox86: Add -fno-exceptions to list of possibly-supported CFLAGS for embedded targets.
Keir Fraser [Sun, 25 Jul 2010 21:20:47 +0000 (22:20 +0100)]
x86: Add -fno-exceptions to list of possibly-supported CFLAGS for embedded targets.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
14 years agostubdom: correct handling DESTDIR during build
Ian Campbell [Wed, 21 Jul 2010 15:36:19 +0000 (16:36 +0100)]
stubdom: correct handling DESTDIR during build

The stubdom/Makefile expects components to install themselves to
stubdom/$(CROSS_ROOT) and passes the appropriate configure and make
variables to make this happen.

However if the top-level build uses DESTDIR then this not only effects
the installation targets in stubdom/Makefile but is also propagated to
the individual components' build causing them to install into an
unexpected location and breaking the build.

In other words "make -C stubdom DESTDIR=/tmp/a-dest-dir" fails due to missing
headers because they had been installed into /tmp/a-dest-dir instead of
stubdom/$(CROSS_ROOT).

The existing attempt to clear DESTDIR for the newlib install phase was
insufficient.

Define a CROSS_MAKE variable which should be used to recurse into the
cross compiled components and which clears DESTDIR.

Also move the definition of the genpath target to after the first
"all" target so that the default target is all.

I have confirmed that with this fix only the Xen build system outputs end up in
/tmp/a-dest-dir.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
14 years agolibxc: eliminate static variables, use xentoollog; API change
Keir Fraser [Fri, 28 May 2010 08:30:19 +0000 (09:30 +0100)]
libxc: eliminate static variables, use xentoollog; API change

This patch eliminate the global variables in libxenctrl (used for
logging and error reporting).

Instead the information which was in the global variables is now in a
new xc_interface* opaque structure, which xc_interface open returns
instead of the raw file descriptor; furthermore, logging is done via
xentoollog.

There are three new parameters to xc_interface_open to control the
logging, but existing callers can just pass "0" for all three to get
the old behaviour.

All libxc callers have been adjusted accordingly.

Also update QEMU_TAG for corresponding qemu change.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
14 years agostubdom/newlib: Provide correct names for time.h timezone variables
Keir Fraser [Fri, 28 May 2010 08:26:25 +0000 (09:26 +0100)]
stubdom/newlib: Provide correct names for time.h timezone variables

Newlib unaccountably defines _daylight, _timezone and _tzname, rather
than daylight, timezone and tzname.  The latter are specified in
SuSv3.

So do a global search and replace as part of our newlib patching :-(.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
15 years agopv-grub: fix boot crash when no fb is available
Keir Fraser [Tue, 6 Apr 2010 06:13:01 +0000 (07:13 +0100)]
pv-grub: fix boot crash when no fb is available

When no fb is available, init_fbfront will return, so the local
semaphore for synchronization with the kbd thread would get dropped.
Using a global static semaphore instead fixes this.

Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
15 years agoPV-GRUB: Fix gzip support and iso support on x86_64
Keir Fraser [Mon, 8 Mar 2010 19:09:23 +0000 (19:09 +0000)]
PV-GRUB: Fix gzip support and iso support on x86_64

Signed-off-by: Samuel Thibault <sthibault@debian.org>
15 years agoFix Makefile targets that generate several files at once
Keir Fraser [Fri, 5 Mar 2010 14:40:19 +0000 (14:40 +0000)]
Fix Makefile targets that generate several files at once

In a few places in the tree the Makefiles have constructs like this:
   one_file another_file:
       $(COMMAND_WHICH_GENERATES_BOTH_AT_ONCE)
This is wrong, because make will run _two copies_ of the same command
at once.  This generally causes races and hard-to-reproduce build
failures.

Notably, `make -j4' at the top level will build stubdom libxc twice
simultaneously!

In this patch we replace the occurrences of this construct with the
correct idiom:
   one_file: another_file
   another_file:
       $(COMMAND_WHICH_GENERATES_BOTH_AT_ONCE)

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
15 years ago[PV-GRUB DOC] Add details to PV-GRUB documentation
Keir Fraser [Fri, 5 Mar 2010 14:30:45 +0000 (14:30 +0000)]
[PV-GRUB DOC] Add details to PV-GRUB documentation

Add a couple of documentation details about PV-GRUB support

- the menu.lst content can be passed as a ramdisk.
- virtual partitions are not supported.

Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
15 years agodomain builder: multiboot-like module support
Keir Fraser [Fri, 11 Dec 2009 08:44:33 +0000 (08:44 +0000)]
domain builder: multiboot-like module support

This defines how multiple modules can be passed to a domain by packing
them together into a "multiboot module" in a way very similar to the
multiboot standard.  An SIF_ flag is added to announce such package.
This also adds a packing implementation to PV-GRUB.

Signed-Off-By: Samuel Thibault <samuel.thibault@ens-lyon.org>
15 years agopcifront: fix multiple initialization bug
Keir Fraser [Mon, 23 Nov 2009 07:14:33 +0000 (07:14 +0000)]
pcifront: fix multiple initialization bug

Now that we have pcifront_watches to dynamically initialize pcifront
we don't need a call to init_pcifront in pcilib and pcifront_scan
anymore; we should just wait for the frontend to connect to the
backend instead.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
15 years agostubdom: Fix up pciutils.patch
Keir Fraser [Fri, 13 Nov 2009 22:13:59 +0000 (22:13 +0000)]
stubdom: Fix up pciutils.patch

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
15 years agopcifront: implement dynamic connections and disconnections
Keir Fraser [Fri, 13 Nov 2009 21:58:30 +0000 (21:58 +0000)]
pcifront: implement dynamic connections and disconnections

this patch implements dynamic connections and disconnections in
pcifront.
This feature is required to properly support pci hotplug, because when
no pci devices are assigned to a guest, xend will remove the pci
backend altogether.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
15 years agostubdom: make stubdom-dm exit properly
Keir Fraser [Thu, 29 Oct 2009 14:04:45 +0000 (14:04 +0000)]
stubdom: make stubdom-dm exit properly

The built-in bash command wait should be able to take a pid argument
and just wait for the specified process to die, but it currently has a
bug and what actually does is waiting for the death of all the
children.  For this reason the stubdom-dm script doesn't exit properly
after stubdom destruction.  This patch solves the issue spawning only
one child, removing the sleep subprocess workaround that was used to
create a usable stdin for "xm console" and replacing it with a fifo.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
15 years agoxend: destroy stubdoms synchronously
Keir Fraser [Thu, 15 Oct 2009 07:16:42 +0000 (08:16 +0100)]
xend: destroy stubdoms synchronously

This patch makes the destruction of stubdoms a synchronous event,
therefore it is no longer possible to run out of memory when rebooting
a guest because the stubdom of the old guest is always destroyed
before the creation of the new guest.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
15 years agostubdom pcilib: define endianness for minios
Keir Fraser [Wed, 14 Oct 2009 07:33:11 +0000 (08:33 +0100)]
stubdom pcilib: define endianness for minios

Include endian.h for MiniOS.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
15 years agostubdom: Backport fix for SIZE_MAX from newlib 1.17.0
Keir Fraser [Tue, 25 Aug 2009 15:26:02 +0000 (16:26 +0100)]
stubdom: Backport fix for SIZE_MAX from newlib 1.17.0

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
15 years agostubdoms: parse bridge informations
Keir Fraser [Sun, 16 Aug 2009 07:45:04 +0000 (08:45 +0100)]
stubdoms: parse bridge informations

Currently the stubdom-dm script doesn't read the bridge of a vif
on xenstore, therefore all the vifs assigned to the stubdom always
belong to default bridge. This patch changes the behavior reading the
bridge from xenstore and adding the bridge to the stubdom config
file.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
15 years agolibxc: Include private Xen headers in stubdom libxc build
Keir Fraser [Tue, 11 Aug 2009 06:34:55 +0000 (07:34 +0100)]
libxc: Include private Xen headers in stubdom libxc build

The headers libelf.h and elfstructs.h were removed from
xen/include/public in 19011:7df072566b8c.  But this broke the stubdom
build because parts of libxc depend on them.  This patch adds
$(XEN_ROOT)/xen/include/xen to the stubdom -I path.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
15 years agostubdom: update README as no reason to specify absolute paths
Keir Fraser [Thu, 23 Jul 2009 07:56:15 +0000 (08:56 +0100)]
stubdom: update README as no reason to specify absolute paths

Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
15 years agostubdom: make -> $(MAKE)
Keir Fraser [Wed, 15 Jul 2009 09:31:50 +0000 (10:31 +0100)]
stubdom: make -> $(MAKE)

Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
15 years agostubdom: don't leak include dir on distclean
Keir Fraser [Wed, 15 Jul 2009 08:11:40 +0000 (09:11 +0100)]
stubdom: don't leak include dir on distclean

Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
15 years agominios: switch to C99 integer types
Keir Fraser [Wed, 15 Jul 2009 08:09:48 +0000 (09:09 +0100)]
minios: switch to C99 integer types

This is a necessary step to make minios build on NetBSD.

Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
15 years agostubdom: fix stubdom-dm error path
Keir Fraser [Tue, 14 Jul 2009 13:46:04 +0000 (14:46 +0100)]
stubdom: fix stubdom-dm error path

Exit the shell and not a subshell.

Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
15 years agostubdom: Install and use stubdompath.sh
Keir Fraser [Mon, 13 Jul 2009 15:50:53 +0000 (16:50 +0100)]
stubdom: Install and use stubdompath.sh
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
15 years agostubdom: Fix stubdom-dm after c/s 19818
Keir Fraser [Fri, 10 Jul 2009 17:12:13 +0000 (18:12 +0100)]
stubdom: Fix stubdom-dm after c/s 19818

19818 added the following line to stubdom-dm:
  . ./stubdompath.sh
and replaced many paths with variables.  However the path to
stubdompath.sh is obviously wrong and stubdompath.sh is nowhere to be
found anyway.  For the moment I am dropping . ./stubdompath.sh and
hardcoding the values of the variables.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
15 years agostubdom: fix a race that affects live migration with stubdoms
Keir Fraser [Wed, 8 Jul 2009 09:51:00 +0000 (10:51 +0100)]
stubdom: fix a race that affects live migration with stubdoms

This patch fixes a race during live migration with stubdoms: right
after the stubdom dies the configuration file of the VM is removed by
stubdom-dm but, in case of a live migration, the configuration file
could be the one of the new VM in the process of being created.
Removing the config file before destroying the stubdom is enough to
solve the race.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
15 years agostubdom: use XENFIRMWAREDIR
Keir Fraser [Thu, 25 Jun 2009 12:14:37 +0000 (13:14 +0100)]
stubdom: use XENFIRMWAREDIR

Attached patch installs ioemu-stubdom into XENFIRMWAREDIR
analogous to what we do with hvmloader.

Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
15 years agoGet rid of hardcoded pathes for stubdom and hotplug scripts
Keir Fraser [Tue, 23 Jun 2009 16:25:51 +0000 (17:25 +0100)]
Get rid of hardcoded pathes for stubdom and hotplug scripts

- Have the buid system generate a file which exports the install paths
   for the hotplug scripts and stubdom / stubdom-dm
- Move file generation code from tools/python/Makefile into a gmake
   macro
  in Config.mk to avoid maintenance of three duplicates each with its
   own
  tweaks and bugs
- Export gmake variables into ioemu as shell variables
  for upcoming ioemu patches
- Do above as a gmake macro to avoid maintenance of several duplicates
- Adjust hotplug scripts to find the right xen binaries from the
  install directory
- Adjust stubdom-dm to use the install directories

Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
15 years agostubdoms: qemu monitor support
Keir Fraser [Thu, 18 Jun 2009 09:20:17 +0000 (10:20 +0100)]
stubdoms: qemu monitor support

Add support for the qemu monitor in a stubdom, the same way the
emulated serial support was added few days ago.  The stubdom exports
the monitor as a pty and minios opens a console frontend; qemu in dom0
provides the correspondent backend for this additional pv console that
happens to be the qemu monitor.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
15 years agominios: support secondary guest consoles.
Keir Fraser [Wed, 17 Jun 2009 06:22:18 +0000 (07:22 +0100)]
minios: support secondary guest consoles.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
15 years agoxend: support multiple consoles per domain
Keir Fraser [Tue, 16 Jun 2009 10:25:37 +0000 (11:25 +0100)]
xend: support multiple consoles per domain

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
15 years agostubdom: 'file' based disk sharing
Keir Fraser [Tue, 26 May 2009 08:50:35 +0000 (09:50 +0100)]
stubdom: 'file' based disk sharing

Allow 'file' based disks, that are blkback based disks, to be shared
between the guest domain and the stubdom. It does so exploiting the
same exception introduced in the previous patch "stubdoms phy disks
sharing". Now we can remove the hack in stubdom-dm that forces "file"
disks to be opened using blktap instead of blkback.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
15 years agostubdom: Rebuild the ocaml runtime libraries with the options needed
Keir Fraser [Tue, 19 May 2009 13:17:56 +0000 (14:17 +0100)]
stubdom: Rebuild the ocaml runtime libraries with the options needed
if they are to be linked with object files created by ocamlc and the minios
kernel.

This is needed to build stubdoms written in ocaml.

Signed-off-by: Alex Zeffertt <alex.zeffertt@eu.citrix.com>
15 years agoioemu: Export PREFIX variable to ioemu build environment.
Keir Fraser [Tue, 19 May 2009 00:27:36 +0000 (01:27 +0100)]
ioemu: Export PREFIX variable to ioemu build environment.
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
16 years agostubdom docs: Update to reflect the new way of configuring stubdom domains.
Keir Fraser [Mon, 11 May 2009 12:50:34 +0000 (13:50 +0100)]
stubdom docs: Update to reflect the new way of configuring stubdom domains.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
16 years agostubdoms: handle cdrom devices in the config file
Keir Fraser [Thu, 23 Apr 2009 15:22:48 +0000 (16:22 +0100)]
stubdoms: handle cdrom devices in the config file

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
16 years agostubdom: drop lwip support
Keir Fraser [Thu, 23 Apr 2009 11:19:14 +0000 (12:19 +0100)]
stubdom: drop lwip support

Network support is still provided the same way: using the tap
interface, created in qemu using netfront.
The lwip stack is still available to avoid additional compilation
issues.
However the stubdom is not going to have its own vif anymore,
this means that the only vnc server supported is the one in dom0.
You can still enable the vnc server in a stubdom at compile time, if
you want so.

Probably the most important change caused by this patch to xen users
is that you don't have to specify two vif in the stubdom config file
anymore, but just one:

-vif = [ '', 'ip=10.0.1.1,mac=aa:00:00:12:23:34']
+vif = ['ip=10.0.1.1,mac=aa:00:00:12:23:34']

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
16 years agostubdoms: generate stubdom config file
Keir Fraser [Thu, 23 Apr 2009 09:08:04 +0000 (10:08 +0100)]
stubdoms: generate stubdom config file

This patch removes the need for a second configuration file for
stubdoms: it is going to be automatically generated by the script
stubdom-dm using command line options and xenstore to find any needed
information.
The configuration script will be placed under /etc/xen/stubdoms and
automatically removed when the domain is destroyed.
The only change needed in xend is not to write on xenstore sdl,
opengl and serial command line options for qemu, because stubdoms do
not support them.
It is safe to remove those two options from xenstore because qemu does
not use xenstore to read commans line options.
Finally this patch fixes blkfront disconnections from backends and
display and xauthority variables for pv guests.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
16 years agostubdom: Fix newlib-chk.patch so it applies
Keir Fraser [Wed, 1 Apr 2009 07:36:21 +0000 (08:36 +0100)]
stubdom: Fix newlib-chk.patch so it applies
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
16 years agostubdom: Add newlib-chk.patch
Keir Fraser [Tue, 31 Mar 2009 17:37:58 +0000 (18:37 +0100)]
stubdom: Add newlib-chk.patch

From: "George S. Coker, II" <gscoker@alpha.ncsc.mil>
Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
16 years agominios: _chk_fail and _chk canaries for minios and newlib
Keir Fraser [Tue, 31 Mar 2009 10:36:11 +0000 (11:36 +0100)]
minios: _chk_fail and _chk canaries for minios and newlib

Add __stack_chk_fail to mini-os and __sprintf_chk __fprintf_chk to
newlib, to cope with ocaml runtimes compiled with -fstack-protector.

From: "George S. Coker, II" <gscoker@alpha.ncsc.mil>
Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
16 years agobuild system cleanup - get rid of some hardcoded paths
Keir Fraser [Thu, 19 Mar 2009 14:01:56 +0000 (14:01 +0000)]
build system cleanup - get rid of some hardcoded paths

Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
16 years agoioemu-stubdom: Use xen-setup-stubdom rather than configure
Keir Fraser [Wed, 18 Mar 2009 17:30:13 +0000 (17:30 +0000)]
ioemu-stubdom: Use xen-setup-stubdom rather than configure

xen-setup runs the upstream configure script, and ends up
autodetecting various properties of the host and then trying to use
them in stubdom, which works badly.

In commit c609854fe18aab3216f28e1e5291b75970d398d5 in
qemu-xen-unstable we provide a new `xen-setup-stubdom' script, which
hardcodes the relevant answers.

With these two changes, stubdom should compile again.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
16 years agoMake stubdom compile on systems with libvde installed
Keir Fraser [Tue, 17 Mar 2009 14:21:18 +0000 (14:21 +0000)]
Make stubdom compile on systems with libvde installed

We need to disable libvde in the stubdom qemu-xen configuration.
Thanks to Jun Koi for the report and testing.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
16 years agostubdom: add videoram to stubdom initial memory reservation
Keir Fraser [Thu, 29 Jan 2009 16:41:48 +0000 (16:41 +0000)]
stubdom: add videoram to stubdom initial memory reservation

This patch adds a videoram parameter (4MB is the default) to pv guests
too: if the pv guest is actually a stubdomain then the videoram size
is added to the initial required available memory.
This way there is no risk that a stubdom fails to populate the
videoram because the RAM freed for the videoram by dom0 has already
been used to create the stubdom.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
16 years agodocumentation: how to disable opengl for stubdomains
Keir Fraser [Wed, 14 Jan 2009 10:52:39 +0000 (10:52 +0000)]
documentation: how to disable opengl for stubdomains

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
16 years agostubdom: Fix compilation after libelf header changes
Keir Fraser [Fri, 9 Jan 2009 16:56:54 +0000 (16:56 +0000)]
stubdom: Fix compilation after libelf header changes

Changeset 19011:7df072566b8c moved some of the libelf headers.
However, no changes were made to stubdom/Makefile.

stubdom/Makefile unfortunately contains embedded in it knowledge about
the header directory structures, and must therefore typically be
updated if new header directories are created.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
16 years agoDownload external tarballs from xenbits.xensource.com
Keir Fraser [Mon, 5 Jan 2009 11:19:16 +0000 (11:19 +0000)]
Download external tarballs from xenbits.xensource.com

I have copied the tarballs that the xen-unstable build downloads to
xenbits.xensource.com (which also hosts our hg and git).  This patch
changes the download URLs to use that location.

That way the build will depend on only one external machine, under one
administration, rather than many.  Also it means that the build won't
break if these sites become permanently unavailable or are rearranged
and we don't run a risk of having to panic and beg if a file should go
missing.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
16 years agopvgrub: value returned by getrtsecs should be BCD
Keir Fraser [Mon, 1 Dec 2008 13:45:46 +0000 (13:45 +0000)]
pvgrub: value returned by getrtsecs should be BCD

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
16 years agoAdd documentation on how to build one's own stub domain kernel
Keir Fraser [Tue, 14 Oct 2008 10:12:02 +0000 (11:12 +0100)]
Add documentation on how to build one's own stub domain kernel

Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
16 years agopvgrub: Allow to work with a partitionless virtual disc.
Keir Fraser [Thu, 18 Sep 2008 09:43:08 +0000 (10:43 +0100)]
pvgrub: Allow to work with a partitionless virtual disc.

From: Bastian Blank <bastian@waldi.eu.org>
Acked-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
16 years agoRemove internal tools/ioemu tree.
Keir Fraser [Thu, 18 Sep 2008 09:32:40 +0000 (10:32 +0100)]
Remove internal tools/ioemu tree.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
16 years agostubdom/ioemu link farm creation fixes
Keir Fraser [Tue, 16 Sep 2008 11:44:26 +0000 (12:44 +0100)]
stubdom/ioemu link farm creation fixes

Replace the stubdom/ioemu link farm creation in stubdom/Makefile,
with code which arranges that:
 * No symlinks are made for output files - in particular, any
   symlinks for .d files would be written through by the compiler
   and cause damage to the original tree and other strange
   behaviours
 * All subdirectories are made as local subdirectories rather than
   links
 * Any interrupted or half-completed creation of the link farm
   leaves the directory in a state where the link farming will be
   restarted
 * We use make's inherent ability to test for the existence of files
   rather than using [ -f ... ] at the start of the rule's commands
 * The list of files to be excluded from the link farm can be
   easily updated
etc.

This should fix some problems particularly with parallel builds,
or by-hand builds where directories are entered in other than the
usual order.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
16 years ago$(XEN_ROOT) absolutification fixes for ioemu-remote (incl stubdom)
Keir Fraser [Fri, 12 Sep 2008 12:15:36 +0000 (13:15 +0100)]
$(XEN_ROOT) absolutification fixes for ioemu-remote (incl stubdom)

 * Move code for generating an absolute version of XEN_ROOT
   into a common make variable set in Config.mk
 * Use this common code when invoking make -C ioemu-dir clean
   from tools/, which avoids a problem where `make clean' fails
   because qemu's (ioemu-remote's) build system wants to run
   `make clean' in `tests' but XEN_ROOT is a confection involving
   ../'s.
 * Use this common code in stubdom/Makefile, instead of $(abspath...)
   as the latter is a relatively new feature in GNU make and is not
   available in all the places that we want to be able to build
   (cf c/s 17997:3f23e01d31985899dbd1660b166f229f1ee74292)

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
16 years agostubdom: compile stubdom with qemu-remote
Keir Fraser [Fri, 12 Sep 2008 09:41:51 +0000 (10:41 +0100)]
stubdom: compile stubdom with qemu-remote

Remove the CONFIG_QEMU override; fixing lwip isystem path.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
16 years agostubdom: Fix README for renamed device-model config file.
Keir Fraser [Tue, 9 Sep 2008 13:47:36 +0000 (14:47 +0100)]
stubdom: Fix README for renamed device-model config file.
Sigend-off-by: Keir Fraser <keir.fraser@citrix.com>
16 years agocross-install: Only apply in tools directory, and automatically wrap $INSTALL.
Keir Fraser [Sat, 30 Aug 2008 07:36:02 +0000 (08:36 +0100)]
cross-install: Only apply in tools directory, and automatically wrap $INSTALL.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
16 years agostubdom: Absolute path for XEN_ROOT.
Keir Fraser [Sat, 30 Aug 2008 07:11:09 +0000 (08:11 +0100)]
stubdom: Absolute path for XEN_ROOT.

It may be used in subdirectories indirectly (e.g., as path component
of $(INSTALL)).

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
16 years agostubdom: add LANG=C for 'gcc -print-search-dirs'
Keir Fraser [Thu, 28 Aug 2008 08:55:40 +0000 (09:55 +0100)]
stubdom: add LANG=C for 'gcc -print-search-dirs'

Prevents unwanted localisation of pretty-printing.

Signed-off-by: Akio Takebe <takebe_akio@jp.fujitsu.com>
16 years agoioemu-stubdom: drop --disable-gfx-check option, already added by qemu-xen tree
Keir Fraser [Wed, 27 Aug 2008 08:48:09 +0000 (09:48 +0100)]
ioemu-stubdom: drop --disable-gfx-check option, already added by qemu-xen tree

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
16 years agopv-grub: On x86_64, also build an x86_32 pv-grub
Keir Fraser [Thu, 14 Aug 2008 12:46:48 +0000 (13:46 +0100)]
pv-grub: On x86_64, also build an x86_32 pv-grub

This requires suffixing obj directories and having grub compiled
outside sources.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
16 years agostubdom: turn off_t 64bit on x86
Keir Fraser [Fri, 8 Aug 2008 09:45:30 +0000 (10:45 +0100)]
stubdom: turn off_t 64bit on x86

We can decide to make off_t 64bit instead of implementing the LFS
tricks.  Name corresponding functions foo64 to permit simple caml
programs linking.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
16 years agoinstall more documentation to /usr/share/doc/xen and /etc/xen
Keir Fraser [Wed, 6 Aug 2008 08:34:55 +0000 (09:34 +0100)]
install more documentation to /usr/share/doc/xen and /etc/xen
Also resync xmexample3 with xmexample1 and 2.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
16 years agostubdom: add *_URL variables to permit to use e.g. local mirrors.
Keir Fraser [Wed, 6 Aug 2008 08:33:10 +0000 (09:33 +0100)]
stubdom: add *_URL variables to permit to use e.g. local mirrors.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
16 years agostubdom: install stubdom kernels as data
Keir Fraser [Mon, 4 Aug 2008 17:11:12 +0000 (18:11 +0100)]
stubdom: install stubdom kernels as data
since they do not need to be directly executed

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
16 years agostubdom: rename the ioemu-dm domain config file to domainname-dm,
Keir Fraser [Mon, 4 Aug 2008 15:47:52 +0000 (16:47 +0100)]
stubdom: rename the ioemu-dm domain config file to domainname-dm,
which is shorter, makes more sense, and sorts better.

From: Samuel Thibault <samuel.thibault@eu.citrix.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
16 years agostubdom: Fix the Makefile to avoid brace expansion
Keir Fraser [Mon, 4 Aug 2008 10:15:24 +0000 (11:15 +0100)]
stubdom: Fix the Makefile to avoid brace expansion

While building stubdom, I saw an error.

  install: cannot stat `lib/{config,header,pci,types}.h': No such file
  or directory

It seems brace expansion is not available in some environments, so we
had better avoid using it.

Signed-off-by: Yosuke Iwamatsu <y-iwamatsu@ab.jp.nec.com>
16 years agoFix stubdom makefile mistake.
Keir Fraser [Fri, 1 Aug 2008 14:38:07 +0000 (15:38 +0100)]
Fix stubdom makefile mistake.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
16 years agostubdom: fix clean target after distclean
Keir Fraser [Fri, 1 Aug 2008 14:25:02 +0000 (15:25 +0100)]
stubdom: fix clean target after distclean

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
16 years agostubdom: update documentation
Keir Fraser [Fri, 1 Aug 2008 08:36:18 +0000 (09:36 +0100)]
stubdom: update documentation

stubdom/ is now compiled and installed by default
HVM+IOEMU-stubdom can not boot if dom0 has to be ballooned.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
16 years agostubdom: fix make clean ; make
Keir Fraser [Thu, 31 Jul 2008 08:49:28 +0000 (09:49 +0100)]
stubdom: fix make clean ; make

make should not have to regenerate the libxc and ioemu directories
since that is part of the mk-headers target.  Use the subdirectory
clean targets instead to clean just the object files.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
16 years agostubdom: avoid re-making mk-headers and thus newlib etc.
Keir Fraser [Fri, 25 Jul 2008 09:06:53 +0000 (10:06 +0100)]
stubdom: avoid re-making mk-headers and thus newlib etc.

Using a stamp file for mk-headers permits to avoid to re-run newlib
configuration etc.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
16 years agostubdom: make sure to use old tree for now
Keir Fraser [Thu, 24 Jul 2008 16:36:27 +0000 (17:36 +0100)]
stubdom: make sure to use old tree for now

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
16 years agostubdom: fix build dependencies
Keir Fraser [Fri, 18 Jul 2008 14:03:55 +0000 (15:03 +0100)]
stubdom: fix build dependencies

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
16 years agostubdom: fix build dependency
Keir Fraser [Fri, 18 Jul 2008 13:23:41 +0000 (14:23 +0100)]
stubdom: fix build dependency

newlib now depends on mini-os header links

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
16 years agostubdom: fix qemu keymap paths
Keir Fraser [Fri, 18 Jul 2008 11:27:45 +0000 (12:27 +0100)]
stubdom: fix qemu keymap paths

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
16 years agostubdom: use lwip 1.3.0 release + patch instead of checking out from cvs
Keir Fraser [Thu, 17 Jul 2008 14:37:09 +0000 (15:37 +0100)]
stubdom: use lwip 1.3.0 release + patch instead of checking out from cvs

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
16 years agoPV-GRUB: use the 0.97 snapshot + patch instead of checking out from cvs
Keir Fraser [Thu, 17 Jul 2008 14:33:15 +0000 (15:33 +0100)]
PV-GRUB: use the 0.97 snapshot + patch instead of checking out from cvs

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
16 years agoPV-GRUB: allow passing menu.lst as a ramdisk
Keir Fraser [Wed, 16 Jul 2008 12:50:47 +0000 (13:50 +0100)]
PV-GRUB: allow passing menu.lst as a ramdisk

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
16 years agostubdom: missing fixes for old gcc
Keir Fraser [Mon, 14 Jul 2008 09:00:47 +0000 (10:00 +0100)]
stubdom: missing fixes for old gcc

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
16 years agostubdom: fixes for old gcc & binutils
Keir Fraser [Fri, 11 Jul 2008 14:37:31 +0000 (15:37 +0100)]
stubdom: fixes for old gcc & binutils

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
16 years agostubdom: do not use realpath, new in make 3.81
Keir Fraser [Fri, 11 Jul 2008 11:45:06 +0000 (12:45 +0100)]
stubdom: do not use realpath, new in make 3.81

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
16 years agoPV-GRUB: Enable xfs support
Keir Fraser [Thu, 10 Jul 2008 13:20:15 +0000 (14:20 +0100)]
PV-GRUB: Enable xfs support

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
16 years agoPV-GRUB: xfs support
Keir Fraser [Thu, 10 Jul 2008 13:17:28 +0000 (14:17 +0100)]
PV-GRUB: xfs support

i386 doesn't have PAE anyway.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>