]> xenbits.xensource.com Git - people/liuw/libxenctrl-split/mini-os.git/log
people/liuw/libxenctrl-split/mini-os.git
14 years agominios: add parentheses to mlock/mulock arguments.
Ian Campbell [Tue, 26 Oct 2010 11:08:10 +0000 (12:08 +0100)]
minios: add parentheses to mlock/mulock arguments.

Fixes warning/build error with non-trivial arguments.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
14 years agoMiniOS: Fix continue; in netfront receive loop
Samuel Thibault [Tue, 12 Oct 2010 09:27:56 +0000 (10:27 +0100)]
MiniOS: Fix continue; in netfront receive loop

To properly ignore some requests through the use of continue;, indexes need to
be updated.

Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
committer: Stefano Stabellini <stefano.stabellini@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>
15 years agomini-os: Revert 21106:b20f897d6010 "Fix xenbus initialisation"
Keir Fraser [Tue, 4 May 2010 11:15:28 +0000 (12:15 +0100)]
mini-os: Revert 21106:b20f897d6010 "Fix xenbus initialisation"

Jeremy Fitzhardinge (jeremy@goop.org) reports that this fixes HVM+stubdom.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
15 years agomini-os: Fix xenbus_switch_state's transaction retry
Keir Fraser [Wed, 7 Apr 2010 07:17:21 +0000 (08:17 +0100)]
mini-os: Fix xenbus_switch_state's transaction retry

When xenbus_switch_state has to retry the transaction which it just
created, it needs to recreate another one.  Clearing xbt triggers it.

Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
15 years agomini-os: Fix crash on frontend shutdown failures
Keir Fraser [Wed, 7 Apr 2010 07:16:15 +0000 (08:16 +0100)]
mini-os: Fix crash on frontend shutdown failures

Do not free frontend resources if some error happened, since the
backend may not have finished properly restarting in such case.

Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
15 years agomini-os: Fix frontend shutdown wait loop
Keir Fraser [Wed, 7 Apr 2010 07:15:55 +0000 (08:15 +0100)]
mini-os: Fix frontend shutdown wait loop

minios frontends must wait for backends to be shut down and
reinitialized before freeing resources.

Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
15 years agomini-os: Fix xenbus initialisation
Keir Fraser [Tue, 6 Apr 2010 06:13:19 +0000 (07:13 +0100)]
mini-os: Fix xenbus initialisation

This fixes xenbus initialization of blkfront, netfront and pcifront
by uniformizing with fbfront: after writing parameters, set state to
initialised, then wait for backend to switch to connect state, and
then only read its parameter and switch to the connect state.

Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
15 years agomini-os: Do not use the same wait element twice
Keir Fraser [Tue, 6 Apr 2010 06:12:39 +0000 (07:12 +0100)]
mini-os: Do not use the same wait element twice

To enqueue the kbdfront thread on two separate wait queues, we need
two different wait elements.

Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
15 years agominios: Trivial spelling typo fixed.
Keir Fraser [Tue, 30 Mar 2010 07:36:41 +0000 (08:36 +0100)]
minios: Trivial spelling typo fixed.

Sigend-off-by: Keir Fraser <keir.fraser@citrix.com>
15 years agominios: implement xc_map_foreign_bulk
Keir Fraser [Mon, 18 Jan 2010 14:48:18 +0000 (14:48 +0000)]
minios: implement xc_map_foreign_bulk

In order to do so it modifies map_frames_ex and do_map_frames to take
an int *err as parameter and return any error that way.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
15 years agomini-os: Fix build error when !HAVE_LIBC
Keir Fraser [Fri, 18 Dec 2009 07:31:02 +0000 (07:31 +0000)]
mini-os: Fix build error when !HAVE_LIBC

Signed-off-by: Yu Zhiguo <yuzg@cn.fujitsu.com>
15 years agomini-os: Fix a compilation error in xencons_ring when !HAVE_LIBC
Keir Fraser [Mon, 14 Dec 2009 11:38:15 +0000 (11:38 +0000)]
mini-os: Fix a compilation error in xencons_ring when !HAVE_LIBC

Signed-off-by: Yu Zhiguo <yuzg@cn.fujitsu.com>
15 years agomini-os: Fix memory leaks in blkfront, netfront, pcifront, etc.
Keir Fraser [Mon, 14 Dec 2009 09:51:07 +0000 (09:51 +0000)]
mini-os: Fix memory leaks in blkfront, netfront, pcifront, etc.

The return value of Xenbus routines xenbus_transaction_start(),
xenbus_printf(), xenbus_transaction_end(), etc.  is a pointer of error
message.  This pointer should be passed to free() to release the
allocated memory when it is no longer needed.

Signed-off-by: Yu Zhiguo <yuzg@cn.fujitsu.com>
15 years agomini-os: Fix memory leaks in xs_read() and xs_write()
Keir Fraser [Fri, 11 Dec 2009 09:01:15 +0000 (09:01 +0000)]
mini-os: Fix memory leaks in xs_read() and xs_write()

xenbus_read() and xenbus_write() will allocate memory for error
message if any error occurs, this memory should be freed.

Signed-off-by: Yu Zhiguo <yuzg@cn.fujitsu.com>
Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
15 years agominios: Fix fb/kbd initialization
Keir Fraser [Mon, 23 Nov 2009 07:22:28 +0000 (07:22 +0000)]
minios: Fix fb/kbd initialization

When allocating kbdfront and fbfront structures, we should zero them
since we do not initialize all fields.

Signed-Off-By: Samuel Thibault <samuel.thibault@ens-lyon.org>
15 years agominios: Fix xenbus_unwatch_path calls
Keir Fraser [Mon, 23 Nov 2009 07:21:58 +0000 (07:21 +0000)]
minios: Fix xenbus_unwatch_path calls

In a lot of places in MiniOS frontends, xenbus_watch_path_token is
used instead of xenbus_watch_path to get more precise wake ups.  To
free those, xenbus_unwatch_path_token has to be used instead of
xenbus_unwatch_path, else the unwatch operation will fail.  This fixes
spurious watch events left by 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 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 agominios: xmalloc and realloc fixes
Keir Fraser [Thu, 29 Oct 2009 08:34:51 +0000 (08:34 +0000)]
minios: xmalloc and realloc fixes

 - xmalloc currently faults if xmalloc_new_page fails due to OOM
 - realloc treats xmalloc_hdr.size as the size of just the data region
   rather than the total size of data region + headers + padding.

From: James Pendergrass <James.Pendergrass@jhuapl.edu>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
15 years agominios: Optimize mmap(open("/dev/mem"))
Keir Fraser [Fri, 23 Oct 2009 08:59:45 +0000 (09:59 +0100)]
minios: Optimize mmap(open("/dev/mem"))

Set map_frames_ex's stride parameter to 0 and increment to 1 to avoid
building an explicit list of mfns.

Signed-Off-By: Samuel Thibault <samuel.thibault@ens-lyon.org>
15 years agostubdom: mmap on /dev/mem support
Keir Fraser [Wed, 21 Oct 2009 15:08:28 +0000 (16:08 +0100)]
stubdom: mmap on /dev/mem support

This patch adds support for mmap on /dev/mem in a stubdom; it is
secure because it only works for memory areas that have been
explicitly allowed by the toolstack (xc_domain_iomem_permission).
Incidentally this is all that is needed to make MSI-X passthrough work
with stubdoms.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
15 years agominios: fix console end of line: \n\r -> \r\n
Keir Fraser [Wed, 14 Oct 2009 07:58:47 +0000 (08:58 +0100)]
minios: fix console end of line: \n\r -> \r\n

Change the end of line produced by minios' console from \n\r to \r\n.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
15 years agominios: fix minios console
Keir Fraser [Wed, 14 Oct 2009 07:55:43 +0000 (08:55 +0100)]
minios: fix minios console

MiniOS' console_print tries to expand '\n' into "\n\r" in place,
causing page faults if the string resides in text.
Use a duplicate of the string instead.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
15 years agominios pcifront: translate physical into virtual addresses
Keir Fraser [Wed, 14 Oct 2009 07:31:07 +0000 (08:31 +0100)]
minios pcifront: translate physical into virtual addresses

Qemu understands physical pci addresses while pciback expects virtual
pci addresses: this patch adds a translation function in pcifront to
make the conversion.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
15 years agostubdom/minios: re-structure headers
Keir Fraser [Thu, 1 Oct 2009 11:28:54 +0000 (12:28 +0100)]
stubdom/minios: re-structure headers

As part of making stubdom usable on NetBSD, it is necessary to
restructure the minios headers to avoid conflicts with NetBSD's
crossbuild toolchain.

Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
Acked-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
15 years agofs-front: cope with a missing fs-backend
Keir Fraser [Thu, 23 Jul 2009 07:57:02 +0000 (08:57 +0100)]
fs-front: cope with a missing fs-backend

Obviously save\restore is not going to work if fs-backend is missing,
but at least the stubdom will be able to work correctly in all the
other cases.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.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 agominios: fix free_fbfront
Keir Fraser [Sat, 27 Jun 2009 09:39:10 +0000 (10:39 +0100)]
minios: fix free_fbfront

When a stubdom is destroyed, fbfront tries to unbind the evtchn
twice.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
15 years agominios: add few missing constants in limits.h
Keir Fraser [Thu, 25 Jun 2009 13:30:00 +0000 (14:30 +0100)]
minios: add few missing constants in limits.h

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
15 years agominios: Use posix_openpt() rather than non-standard openpty().
Keir Fraser [Thu, 18 Jun 2009 09:19:25 +0000 (10:19 +0100)]
minios: Use posix_openpt() rather than non-standard openpty().

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 agoIntroduce mechanism to check standard conformance of headers
Keir Fraser [Wed, 17 Jun 2009 06:21:03 +0000 (07:21 +0100)]
Introduce mechanism to check standard conformance of headers

While pretty simplistic, it appears to serve the purpose at the moment
(i.e. it spotted two places where a GNU extension was used withou
proper preprocessor conditionals). The "simplistic" here includes that
the checking gets only done for native builds, and ia64 gets excluded
due to its arch-specific header intentionally (for whatever reason)
checking that anonymous struct/unions can be used.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
15 years agominios: Introduce BSD license COPYING file
Keir Fraser [Thu, 4 Jun 2009 09:35:03 +0000 (10:35 +0100)]
minios: Introduce BSD license COPYING file
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
15 years agominios: Clean up and remove Linux remnants from x86_64.S
Keir Fraser [Wed, 3 Jun 2009 17:27:05 +0000 (18:27 +0100)]
minios: Clean up and remove Linux remnants from x86_64.S

Sigend-off-by: Keir Fraser <keir.fraser@citrix.com>
15 years agominios: refactor xenbus state machine
Keir Fraser [Wed, 3 Jun 2009 10:09:14 +0000 (11:09 +0100)]
minios: refactor xenbus state machine

Implement xenbus_wait_for_state_change and xenbus_switch_state and
change the various frontends to use the two functions and do proper
error checking.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
15 years agominios: Remove Linux attribution for mktime() as it's not true since c/s 19638.
Keir Fraser [Mon, 1 Jun 2009 13:39:25 +0000 (14:39 +0100)]
minios: Remove Linux attribution for mktime() as it's not true since c/s 19638.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
15 years agominios: implement ffs, ffsl and ffsll.
Keir Fraser [Thu, 28 May 2009 08:41:59 +0000 (09:41 +0100)]
minios: implement ffs, ffsl and ffsll.

The first function is compiled only in case minios is compiled without
newlib, since newlib already provides an implementation for ffs.
On the other hand ffsl and ffsll are always compiled because newlib
misses those functions.
This patch also provides an implementation for __ffsti2 and __ffsdi2
because they are needed by gcc in order to successfully link ffsll.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
15 years agopvgrub: few lines in shutdown_blkfront were removed by mistake.
Keir Fraser [Tue, 26 May 2009 09:05:27 +0000 (10:05 +0100)]
pvgrub: few lines in shutdown_blkfront were removed by mistake.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
15 years agominios: replace mktime implementation
Keir Fraser [Tue, 26 May 2009 08:54:53 +0000 (09:54 +0100)]
minios: replace mktime implementation

In the efforts to clarify MiniOS license it came to my attention that
few portions of MiniOS were taken from other GPL projects, one of them
is the mktime implementation. This patch replaces the current GPL
licensed mktime implementation with a different and BSD licensed
version.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
15 years agominios: Fix blkfront driver when sector_size != 512
Keir Fraser [Tue, 26 May 2009 08:49:19 +0000 (09:49 +0100)]
minios: Fix blkfront driver when sector_size != 512

The first and last sector as well as the sector number of the request
is expressed in 512 bytes units, independently from the real sector
size.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
15 years agominios: Implement some extra lib functions for ocaml xenstored stubdom
Keir Fraser [Tue, 19 May 2009 13:15:43 +0000 (14:15 +0100)]
minios: Implement some extra lib functions for ocaml xenstored stubdom

We could stub them out as unsupported, but we may as well implement
them as they are very simple.

Signed-off-by: Alex Zeffertt <alex.zeffertt@eu.citrix.com>
15 years agominios: Define extra stub functions to allow build of ocaml xenstored stubdom
Keir Fraser [Tue, 19 May 2009 13:14:41 +0000 (14:14 +0100)]
minios: Define extra stub functions to allow build of ocaml xenstored stubdom

These are referenced by the libs that ocamlopt links xenstored to, but
ought not actually get called.

Signed-off-by: Alex Zeffertt <alex.zeffertt@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 agominios: fix a memory corruption in blkfront
Keir Fraser [Tue, 14 Apr 2009 10:21:45 +0000 (11:21 +0100)]
minios: fix a memory corruption in blkfront

The corruption happens every time we pass a sector aligned buffer
(instead of a page aligned buffer) to blkfront_aio. To trigger the COW
we have to write at least a byte to each page of the buffer, but we
must be careful not to overwrite useful content.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
16 years agominios: Extend struct blkfront_aiocb.
Keir Fraser [Tue, 31 Mar 2009 11:06:57 +0000 (12:06 +0100)]
minios: Extend struct blkfront_aiocb.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
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 agominios: allow to allocate machine contiguous pages
Keir Fraser [Fri, 13 Mar 2009 07:37:24 +0000 (07:37 +0000)]
minios: allow to allocate machine contiguous pages

This is a port of XenLinux xen_alloc_contig_memory() to mini-os. A
sufficiently privileged mini-os guest can exchange a small number of
its pages with machine contiguous pages.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@netronome.com>
16 years agominios: Fix 18874 memory clipping
Keir Fraser [Mon, 9 Mar 2009 08:43:11 +0000 (08:43 +0000)]
minios: Fix 18874 memory clipping

Fix 18874's memory clipping: there are three page-sized holes between
direct mapping, demand mapping, heap pages and the end of memory.

Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
16 years agominios: general cleanup of mm.c
Keir Fraser [Mon, 2 Mar 2009 10:52:07 +0000 (10:52 +0000)]
minios: general cleanup of mm.c

Major clean up of mm.c. Added comments, fixed coding style, more
sensible variable names, mark some local functions static etc.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@netronome.com>
Acked-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
16 years agominios: cleanup events.c
Keir Fraser [Mon, 2 Mar 2009 10:51:34 +0000 (10:51 +0000)]
minios: cleanup events.c

Don't throw away hypercall error codes. They might be useful. Also
some minor coding style cleanups.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@netronome.com>
Acked-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
16 years agominios: add ioremap/iounmap
Keir Fraser [Mon, 2 Mar 2009 10:50:59 +0000 (10:50 +0000)]
minios: add ioremap/iounmap

Add ioremap and iounmap functions to minios. Also move some unmapping
code from and clean up mem_test.

Signed-off-by: Rolf Neugebauer <rolf.neugebauer@netronome.com>
Acked-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
16 years agominios: fix p2m on x86
Keir Fraser [Mon, 9 Feb 2009 14:22:07 +0000 (14:22 +0000)]
minios: fix p2m on x86

15675:bf85b467ee89 Fixed p2m on x86_64, but instead broke it on x86.

Signed-off-by: Samuel Thibault <samuel.thibaut@ens-lyon.org>
16 years agoFix mini-os ia64 compilation
Keir Fraser [Thu, 18 Dec 2008 11:27:37 +0000 (11:27 +0000)]
Fix mini-os ia64 compilation

- Avoid nested function to avoid a trampoline.
- Do not link mini-os_app.o when it is empty.

Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
16 years agomini-os: Make utility function get_self_id() in fs-front.c public.
Keir Fraser [Tue, 16 Dec 2008 12:00:25 +0000 (12:00 +0000)]
mini-os: Make utility function get_self_id() in fs-front.c public.

Signed-off-by: Yosuke Iwamatsu <y-iwamatsu@ab.jp.nec.com>
16 years agominios: Clip memory not usable by Mini-OS (above 1GB)
Keir Fraser [Fri, 5 Dec 2008 13:06:57 +0000 (13:06 +0000)]
minios: Clip memory not usable by Mini-OS (above 1GB)

Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
16 years agomerge with xen-unstable.hg
Isaku Yamahata [Tue, 25 Nov 2008 05:21:24 +0000 (14:21 +0900)]
merge with xen-unstable.hg

16 years ago[IA64] Remove the useless big endian stuff.
dietmar.hahn@fujitsu-siemens.com [Tue, 18 Nov 2008 09:55:51 +0000 (10:55 +0100)]
[IA64] Remove the useless big endian stuff.

This patch removes all the useless big endian stuff from the mini-os.
Before there was an effort to support big endian for PV-guest.
But the big endian support was never gotten into the common parts of
the mini-os so it makes no sense to have this only in the ia64
specific sources. And as there is no open source big endian os and
porting our BS2000 os to ia64 was stopped, nobody wants that stuff
in the common minos.
So this looks ugly then and remove the big endian stuff.

Signed-off-by: Dietmar Hahn <dietmar.hahn@fujitsu-siemens.com>
16 years ago[IA64] minios: Fix ctor and dtor sections.
dietmar.hahn@fujitsu-siemens.com [Mon, 17 Nov 2008 08:27:02 +0000 (09:27 +0100)]
[IA64] minios: Fix ctor and dtor sections.

Signed-off-by: Dietmar Hahn <dietmar.hahn@fujitsu-siemens.com>
16 years ago[IA64] minios: Clean up the hypervisor interface
dietmar.hahn@fujitsu-siemens.com [Mon, 17 Nov 2008 08:19:45 +0000 (09:19 +0100)]
[IA64] minios: Clean up the hypervisor interface

move all hypervisor calls to xencomm

Signed-off-by: Dietmar Hahn <dietmar.hahn@fujitsu-siemens.com>
16 years agominios: add a barebone net/if.h
Keir Fraser [Tue, 11 Nov 2008 11:03:58 +0000 (11:03 +0000)]
minios: add a barebone net/if.h

net/if.h is a standard header but unfortunately lwip doesn't provide
it for any target but linux. Therefore I am adding a net/if.h, with an
empty implementation of the declared functions.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
16 years agominios: Define __INSIDE_MINIOS__ rather than __MINIOS__
Keir Fraser [Wed, 29 Oct 2008 12:04:38 +0000 (12:04 +0000)]
minios: Define __INSIDE_MINIOS__ rather than __MINIOS__

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
16 years agominios: do not expose #define current to applications
Keir Fraser [Mon, 27 Oct 2008 18:51:52 +0000 (18:51 +0000)]
minios: do not expose #define current to applications

Currently the minios headers do this:
 #define current get_current()
Obviously when porting general code to this environment, this can
cause problems !

The attached patch arranges for this only to be done if
 #define __MINIOS__
is declared, which is set up by the makefile in extras/mini-os.

Suppressing the namespace pollution is necessary to get recent
upstream qemu's to compile, since they (quite properly) use `current'
as an ordinary identifier.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
16 years agominios: blkfront should set protocol node
Keir Fraser [Wed, 24 Sep 2008 09:18:20 +0000 (10:18 +0100)]
minios: blkfront should set protocol node

From: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
16 years agomini-os: adding some missing posix function declarations
Keir Fraser [Wed, 17 Sep 2008 12:10:36 +0000 (13:10 +0100)]
mini-os: adding some missing posix function declarations

Adding some missing posix function declarations, to get rid of some
qemu-remote compile time warnings.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
16 years agostubdom: fix munmap's update_va_mapping flag passing, thus fixing
Keir Fraser [Thu, 28 Aug 2008 12:09:02 +0000 (13:09 +0100)]
stubdom: fix munmap's update_va_mapping flag passing, thus fixing
INVLPG passing

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
16 years agostubdom: add v?errx? and v?warnx? functions
Keir Fraser [Wed, 27 Aug 2008 13:57:51 +0000 (14:57 +0100)]
stubdom: add v?errx? and v?warnx? functions

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
16 years agomini-os: Fix build failure with void* arithmetic.
Keir Fraser [Wed, 27 Aug 2008 12:31:01 +0000 (13:31 +0100)]
mini-os: Fix build failure with void* arithmetic.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
16 years agomini-os: Add printf format checking to xenbus_printf
Keir Fraser [Wed, 27 Aug 2008 08:48:39 +0000 (09:48 +0100)]
mini-os: Add printf format checking to xenbus_printf

Reported-by: "Daniel P. Berrange" <berrange@redhat.com>
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
16 years agostubdom: support quotes in argument passing
Keir Fraser [Wed, 27 Aug 2008 08:47:49 +0000 (09:47 +0100)]
stubdom: support quotes in argument passing

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
16 years agostubdom: make munmap work in batches to fix stack overflow
Keir Fraser [Wed, 27 Aug 2008 08:47:24 +0000 (09:47 +0100)]
stubdom: make munmap work in batches to fix stack overflow

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
16 years agomini-os: make xenbus_read_integer and xenbus_printf take const strings
Keir Fraser [Wed, 27 Aug 2008 08:46:22 +0000 (09:46 +0100)]
mini-os: make xenbus_read_integer and xenbus_printf take const strings

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
16 years agostubdom: add syslog functions
Keir Fraser [Wed, 27 Aug 2008 08:45:42 +0000 (09:45 +0100)]
stubdom: add syslog functions

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
16 years agostubdom: add dummy pthread_mutexattr*
Keir Fraser [Wed, 27 Aug 2008 08:45:09 +0000 (09:45 +0100)]
stubdom: add dummy pthread_mutexattr*

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
16 years agostubdom: int32_t is provided by stdint.h, not sys/types.h
Keir Fraser [Wed, 27 Aug 2008 08:44:51 +0000 (09:44 +0100)]
stubdom: int32_t is provided by stdint.h, not sys/types.h

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: for safety, tell lwip we use the heap in the event handler
Keir Fraser [Mon, 11 Aug 2008 14:00:06 +0000 (15:00 +0100)]
stubdom: for safety, tell lwip we use the heap in the event handler

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
16 years agoprefix mini-os lists with minios_, drop QEMU_ prefix from QEMU_LIST_*
Keir Fraser [Fri, 8 Aug 2008 09:48:48 +0000 (10:48 +0100)]
prefix mini-os lists with minios_, drop QEMU_ prefix from QEMU_LIST_*

That permits to reduce the amount of difference with upstream.

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 agomini-os: Fix 32bit compilation of fs-front.c
Keir Fraser [Mon, 4 Aug 2008 15:45:11 +0000 (16:45 +0100)]
mini-os: Fix 32bit compilation of fs-front.c

Reported-by: Trolle Selander <trolle.selander@eu.citrix.com>
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
16 years agoFSIF: extend protocol to multi-grant requests and multi-page ring
Keir Fraser [Fri, 1 Aug 2008 08:37:10 +0000 (09:37 +0100)]
FSIF: extend protocol to multi-grant requests and multi-page ring

To improve throughput and inline the stat response.

Signed-off-by: Grzegorz Milos <gm281@cam.ac.uk>
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
16 years agomini-os: make init_pcifront fail early if there is no backend
Keir Fraser [Thu, 31 Jul 2008 12:30:24 +0000 (13:30 +0100)]
mini-os: make init_pcifront fail early if there is no backend

Else, we would leave entries in xenstore, which disturbs xend.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
16 years agominios: grant table map (gntdev) bug fixes
Keir Fraser [Thu, 24 Jul 2008 16:34:50 +0000 (17:34 +0100)]
minios: grant table map (gntdev) bug fixes

 * Uninitialized dev_bus_addr argument to GNTTABOP_unmap_grant_ref
   results in an angry hypervisor.
 * Set errno in libxc and return -1 on error.
 * op.status is a int16_t, so it should be printed with PRId16.
 * Don't print domids[0] or refs[0] if the ptr is NULL. It's more
   polite to crash later, after the message has been printed.

Signed-off-by: Diego Ongaro <diego.ongaro@citrix.com>
16 years agominios: Fix build on some gcc versions.
Keir Fraser [Thu, 24 Jul 2008 16:33:40 +0000 (17:33 +0100)]
minios: Fix build on some gcc versions.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
16 years agominios: grant table map (gntdev) for minios
Keir Fraser [Thu, 24 Jul 2008 13:14:27 +0000 (14:14 +0100)]
minios: grant table map (gntdev) for minios

I've implemented a grant map for mini-os to support the xc_gnttab_*()
functions, the equivalent of gntdev in linux. This is useful for my
work in putting xenstored in a stub domain.

Signed-off-by: Diego Ongaro <diego.ongaro@citrix.com>
16 years agomini-os: fix FS frontend index reading
Keir Fraser [Mon, 21 Jul 2008 08:38:33 +0000 (09:38 +0100)]
mini-os: fix FS frontend index reading

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
16 years agomini-os: fix fs-front.c debugging prints
Keir Fraser [Mon, 21 Jul 2008 08:38:19 +0000 (09:38 +0100)]
mini-os: fix fs-front.c debugging prints

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
16 years agomini-os: export allocate_ondemand
Keir Fraser [Fri, 18 Jul 2008 14:45:06 +0000 (15:45 +0100)]
mini-os: export allocate_ondemand

allocate_ondemand can be used to allocate addresse space. Primarily
used for mapping MFNs, it can also be used e.g. to map grant refs.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
16 years agomini-os is missing list_top in its list.h
Keir Fraser [Fri, 18 Jul 2008 14:44:39 +0000 (15:44 +0100)]
mini-os is missing list_top in its list.h

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
16 years agomini-os: add stack walking debug
Keir Fraser [Fri, 18 Jul 2008 13:09:14 +0000 (14:09 +0100)]
mini-os: add stack walking debug

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
16 years agostubdom: add functions for caml runtime
Keir Fraser [Thu, 17 Jul 2008 12:21:37 +0000 (13:21 +0100)]
stubdom: add functions for caml runtime

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 agostubdom: Fixes for gcc 4.2.4 32bit
Keir Fraser [Thu, 10 Jul 2008 14:32:18 +0000 (15:32 +0100)]
stubdom: Fixes for gcc 4.2.4 32bit
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
16 years agostubdom: fixes to compile with qemu-xen
Keir Fraser [Thu, 10 Jul 2008 13:15:46 +0000 (14:15 +0100)]
stubdom: fixes to compile with qemu-xen

This adds fixes to the stub domain build into compiling Ian Jackson's
qemu-xen.  The most notable change is that mini-os headers now
#include each other through a mini-os/ prefix, so that we can turn all
-I into -isystem and still be sure that we include Mini-OS headers
(and not qemu's console.h or blktaplib's list.h for instance...).

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
16 years agoFix a couple of Grzegorz Milos copyright lines.
Keir Fraser [Thu, 10 Jul 2008 09:02:15 +0000 (10:02 +0100)]
Fix a couple of Grzegorz Milos copyright lines.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
16 years agominios: Add missing fcntl.h.
Keir Fraser [Wed, 9 Jul 2008 15:00:05 +0000 (16:00 +0100)]
minios: Add missing fcntl.h.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
16 years agostubdom: add stub functions to reduce qemu patches
Keir Fraser [Wed, 9 Jul 2008 14:58:20 +0000 (15:58 +0100)]
stubdom: add stub functions to reduce qemu patches

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
16 years agostubdom: fix copy/paste typo in select()
Keir Fraser [Tue, 8 Jul 2008 15:12:23 +0000 (16:12 +0100)]
stubdom: fix copy/paste typo in select()

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