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 - to assist bisecting, 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.
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 | 779 ----------------------
a/tools/xenfb/xenfb.h | 35 -
b/tools/ioemu/hw/xen_console.c | 432 ++++++++++++
b/tools/ioemu/hw/xen_console.h | 25
b/tools/ioemu/hw/xen_machine_fv.c | 288 ++++++++
b/tools/ioemu/hw/xen_machine_pv.c | 73 ++
b/tools/ioemu/hw/xenfb.c | 1108 ++++++++++++++++++++++++++++++++
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 | 37 -
tools/python/xen/xend/image.py | 382 +++++------
tools/python/xen/xend/server/vfbif.py | 108 ---
27 files changed, 2231 insertions(+), 2329 deletions(-)
The entire series is synced against xen-unstable.hg 16157:b28ae5f00553
Dan.
--
|=- 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
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|