This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


[Xen-devel] PATCH: 0/10: Merge paravirt FB & console into qemu-dm

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] PATCH: 0/10: Merge paravirt FB & console into qemu-dm
From: "Daniel P. Berrange" <berrange@xxxxxxxxxx>
Date: Wed, 22 Aug 2007 23:26:53 +0100
Delivery-date: Wed, 22 Aug 2007 15:27:20 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Reply-to: "Daniel P. Berrange" <berrange@xxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.4.1i
The following series of 10 patches is a merge of the xenfb and xenconsoled
functionality into the qemu-dm code. The general approach taken is to have
qemu-dm provide two machine types - one for xen paravirt, the other for
fullyvirt. For compatability the later is the default. The goals overall
are to kill LibVNCServer, remove alot of code duplication and/or parallel
impls of the same concepts, and increase the functionality for PV. In
particular this will let paravirt guests take advantage of TLS encryption
for the VNC server, and let us configure the text console in all the variety
of ways QEMU supports (PTY, File, TCP, TCP_Telnet,UDP, etc).

One interesting possiblity that merging the text & graphics consoles into
same daemon allows for, is to expose the pygrub screens over both a PTY 
and VNC server at the same time. If I can figure out how to actually code
this idea it would solve a major headache when using bootloaders with PV
guests remotely.

The patches should be applied in order - after each individual patch you
should still have a fully operational system for both FV & PV. I have tested
save/restore, save+checkpoint, and migration for fullyvirt, paravirt with
SUSPEND_CANCEL, and paravirt without SUSPEND_CANCEL. With the latter I get
sporadic failures - both with and without my changes - so I think that's a
more general compat problem in xen-unstable.hg.

I've included diffstats inline with each patch, but since there's a fair bit
of general re-factoring / moving code in intermediate patches here is a
summary of the stats for the series as a whole. I recommend applying each
patch individually though to preserve the history of changes.

 Config.mk                               |    1 
 a/tools/check/check_libvncserver        |   38 -
 a/tools/check/check_sdl                 |   27 
 a/tools/xenfb/Makefile                  |   32 
 a/tools/xenfb/sdlfb.c                   |  342 ----------
 a/tools/xenfb/vncfb.c                   |  522 ---------------
 a/tools/xenfb/xenfb.c                   |  785 -----------------------
 a/tools/xenfb/xenfb.h                   |   35 -
 b/tools/ioemu/hw/xen_console.c          |  424 ++++++++++++
 b/tools/ioemu/hw/xen_console.h          |   25 
 b/tools/ioemu/hw/xen_machine_fv.c       |  286 ++++++++
 b/tools/ioemu/hw/xen_machine_pv.c       |   74 ++
 b/tools/ioemu/hw/xenfb.c                | 1051 ++++++++++++++++++++++++++++++++
 b/tools/ioemu/hw/xenfb.h                |   13 
 tools/Makefile                          |    1 
 tools/check/Makefile                    |    4 
 tools/console/daemon/io.c               |    9 
 tools/ioemu/Makefile.target             |    4 
 tools/ioemu/target-i386-dm/helper2.c    |    5 
 tools/ioemu/vl.c                        |  249 -------
 tools/ioemu/vl.h                        |    4 
 tools/ioemu/xenstore.c                  |    2 
 tools/python/xen/xend/XendCheckpoint.py |    5 
 tools/python/xen/xend/XendConfig.py     |   35 -
 tools/python/xen/xend/XendDomainInfo.py |   41 -
 tools/python/xen/xend/image.py          |  379 ++++++-----
 tools/python/xen/xend/server/vfbif.py   |  110 ---
 27 files changed, 2165 insertions(+), 2338 deletions(-)

   Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx>

|=- Red Hat, Engineering, Emerging Technologies, Boston.  +1 978 392 2496 -=|
|=-           Perl modules: http://search.cpan.org/~danberr/              -=|
|=-               Projects: http://freshmeat.net/~danielpb/               -=|
|=-  GnuPG: 7D3B9505   F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505  -=| 

Xen-devel mailing list