All of lore.kernel.org
 help / color / mirror / Atom feed
* PATCH: 0/10: Merge paravirt FB & console into qemu-dm
@ 2007-08-22 22:26 Daniel P. Berrange
  2007-08-22 22:28 ` PATCH: 1/10: Add a QEMU machine type for fullvirt guests Daniel P. Berrange
                   ` (9 more replies)
  0 siblings, 10 replies; 13+ messages in thread
From: Daniel P. Berrange @ 2007-08-22 22:26 UTC (permalink / raw)
  To: xen-devel

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@redhat.com>

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  -=| 

^ permalink raw reply	[flat|nested] 13+ messages in thread
* PATCH 0/10: Merge PV framebuffer & console into QEMU
@ 2007-10-24 20:35 Daniel P. Berrange
  2007-10-24 20:42 ` PATCH 6/10: Merge private & public xenfb structs Daniel P. Berrange
  0 siblings, 1 reply; 13+ messages in thread
From: Daniel P. Berrange @ 2007-10-24 20:35 UTC (permalink / raw)
  To: xen-devel

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  -=| 

^ permalink raw reply	[flat|nested] 13+ messages in thread
* PATCH: 0/10: Merge xenfb & xenconsoled into qemu-dm
@ 2007-08-15 20:00 Daniel P. Berrange
  2007-08-15 20:08 ` PATCH: 6/10: Merge private & public xenfb structs Daniel P. Berrange
  0 siblings, 1 reply; 13+ messages in thread
From: Daniel P. Berrange @ 2007-08-15 20:00 UTC (permalink / raw)
  To: xen-devel

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 only feature this re-factoring looses is the ability to have the paravirt
text console persistently logged to a file. QEMU allows us to specify that
a character device is either sent to a PTY, or a file, but not both at the
same time. I'm thinking about ways in which QEMU's character device config
syntax & drivers may be extended to allow use of a PTY & File concurrently.

The patches should be applied in order - after each individual patch you
should still have a fully operational system for both FV & PV.

Regards,
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  -=| 

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2007-10-24 20:42 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-08-22 22:26 PATCH: 0/10: Merge paravirt FB & console into qemu-dm Daniel P. Berrange
2007-08-22 22:28 ` PATCH: 1/10: Add a QEMU machine type for fullvirt guests Daniel P. Berrange
2007-08-22 22:29 ` PATCH: 2/10: Add a QEMU machine type for paravirt guests Daniel P. Berrange
2007-08-22 22:29 ` PATCH: 3/10: Remove standalone xenfb code Daniel P. Berrange
2007-08-22 22:30 ` PATCH: 4/10: Refactor xenfb event handlers Daniel P. Berrange
2007-08-22 22:31 ` PATCH: 5/10: Refactor QEMU console integration Daniel P. Berrange
2007-08-22 22:31 ` PATCH: 6/10: Merge private & public xenfb structs Daniel P. Berrange
2007-08-22 22:32 ` PATCH: 7/10: Async negotiation with xenfb frontend Daniel P. Berrange
2007-08-22 22:32 ` PATCH: 8/10: Add pv console to QEMU paravirt machine Daniel P. Berrange
2007-08-22 22:33 ` PATCH: 9/10: XenD device model re-factoring Daniel P. Berrange
2007-08-22 22:34 ` PATCH: 10/10: Make xenconsoled ignore doms with qemu-dm Daniel P. Berrange
  -- strict thread matches above, loose matches on Subject: below --
2007-10-24 20:35 PATCH 0/10: Merge PV framebuffer & console into QEMU Daniel P. Berrange
2007-10-24 20:42 ` PATCH 6/10: Merge private & public xenfb structs Daniel P. Berrange
2007-08-15 20:00 PATCH: 0/10: Merge xenfb & xenconsoled into qemu-dm Daniel P. Berrange
2007-08-15 20:08 ` PATCH: 6/10: Merge private & public xenfb structs Daniel P. Berrange

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.