WARNING - OLD ARCHIVES

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/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] [xen-unstable] xend: support multiple consoles per domai

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] xend: support multiple consoles per domain
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Fri, 19 Jun 2009 00:55:16 -0700
Delivery-date: Fri, 19 Jun 2009 00:58:51 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1245147937 -3600
# Node ID eeb0fce9aeafc704419886e654c37799f94ac5a2
# Parent  f07a915ecc170f23ec9fa16cbdf05bbb733dc7b4
xend: support multiple consoles per domain

Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
---
 stubdom/stubdom-dm                  |    5 +++++
 tools/python/xen/xend/XendConfig.py |   10 ++++++++++
 tools/python/xen/xend/image.py      |    9 +++++----
 tools/python/xen/xm/create.py       |    7 ++++---
 4 files changed, 24 insertions(+), 7 deletions(-)

diff -r f07a915ecc17 -r eeb0fce9aeaf stubdom/stubdom-dm
--- a/stubdom/stubdom-dm        Tue Jun 16 11:24:58 2009 +0100
+++ b/stubdom/stubdom-dm        Tue Jun 16 11:25:37 2009 +0100
@@ -52,6 +52,10 @@ do
                 keymap=$2
                 shift
                 ;;
+           -serial)
+               serial="$2"
+               shift
+               ;;
        esac
     fi
     case "$1" in
@@ -100,6 +104,7 @@ vncpasswd=`xenstore-read /local/domain/0
 vncpasswd=`xenstore-read /local/domain/0/backend/vfb/$domid/0/vncpasswd 
2>/dev/null`
 test "$vncpasswd" && vfb="$vfb, vncpasswd=$vncpasswd"
 test "$keymap" && vfb="$vfb, keymap=$keymap"
+test "$serial" && vfb="$vfb, serial=$serial"
 echo "vfb = ['$vfb']" >> /etc/xen/stubdoms/$domname-dm
 
 echo -n "disk = [ " >> /etc/xen/stubdoms/$domname-dm
diff -r f07a915ecc17 -r eeb0fce9aeaf tools/python/xen/xend/XendConfig.py
--- a/tools/python/xen/xend/XendConfig.py       Tue Jun 16 11:24:58 2009 +0100
+++ b/tools/python/xen/xend/XendConfig.py       Tue Jun 16 11:25:37 2009 +0100
@@ -1432,6 +1432,16 @@ class XendConfig(dict):
                    del dev_info['type']
                    log.debug("iwj dev_type=%s vfb setting dev_info['%s']" %
                                (dev_type, vfb_type))
+                if dev_info.get('serial') is not None :
+                    # Create two serial backends now, the location value is 
bogus, but does not matter
+                    cfg = self.console_add('vt100', '0')
+                    c_uuid = uuid.createString()
+                    target['devices'][c_uuid] = ('console', cfg)
+                    target['console_refs'].append(c_uuid)
+                    cfg = self.console_add('vt100', '1')
+                    c_uuid = uuid.createString()
+                    target['devices'][c_uuid] = ('console', cfg)
+                    target['console_refs'].append(c_uuid)
                 
             elif dev_type == 'console':
                 if 'console_refs' not in target:
diff -r f07a915ecc17 -r eeb0fce9aeaf tools/python/xen/xend/image.py
--- a/tools/python/xen/xend/image.py    Tue Jun 16 11:24:58 2009 +0100
+++ b/tools/python/xen/xend/image.py    Tue Jun 16 11:25:37 2009 +0100
@@ -286,6 +286,9 @@ class ImageHandler:
             if dev_type == 'vfb':
                 if 'keymap' in dev_info:
                     keymap = dev_info.get('keymap',{})
+                if 'serial' in dev_info:
+                    ret.append("-serial")
+                    ret.append(dev_info.get('serial',{}))
                 if int(dev_info.get('vnc', 0)) != 0 :
                     has_vnc = True
                 if int(dev_info.get('sdl', 0)) != 0 :
@@ -746,12 +749,10 @@ class HVMImageHandler(ImageHandler):
 
         if not self.display :
             self.display = ''
-        # Do not store sdl, opengl and serial related qemu cli options
+        # Do not store sdl and opengl qemu cli options
         self.vm.storeVm(("image/dmargs", " ".join([ x for x in self.dmargs
                         if x != "-sdl"
-                        and x != "-disable-opengl"
-                        and x != "-serial"
-                        and x != "pty" ])),
+                        and x != "-disable-opengl" ])),
                         ("image/device-model", self.device_model),
                         ("image/display", self.display))
         self.vm.permissionsVm("image/dmargs", { 'dom': self.vm.getDomid(), 
'read': True } )
diff -r f07a915ecc17 -r eeb0fce9aeaf tools/python/xen/xm/create.py
--- a/tools/python/xen/xm/create.py     Tue Jun 16 11:24:58 2009 +0100
+++ b/tools/python/xen/xm/create.py     Tue Jun 16 11:25:37 2009 +0100
@@ -352,7 +352,7 @@ gopts.var('irq', val='IRQ',
          For example 'irq=7'.
          This option may be repeated to add more than one IRQ.""")
 
-gopts.var('vfb', 
val="vnc=1,sdl=1,vncunused=1,vncdisplay=N,vnclisten=ADDR,display=DISPLAY,xauthority=XAUTHORITY,vncpasswd=PASSWORD,opengl=1,keymap=FILE",
+gopts.var('vfb', 
val="vnc=1,sdl=1,vncunused=1,vncdisplay=N,vnclisten=ADDR,display=DISPLAY,xauthority=XAUTHORITY,vncpasswd=PASSWORD,opengl=1,keymap=FILE,serial=FILE",
           fn=append_value, default=[],
           use="""Make the domain a framebuffer backend.
           Both sdl=1 and vnc=1 can be enabled at the same time.
@@ -364,7 +364,8 @@ gopts.var('vfb', val="vnc=1,sdl=1,vncunu
           For sdl=1, a viewer will be started automatically using the
           given DISPLAY and XAUTHORITY, which default to the current user's
           ones.  OpenGL will be used by default unless opengl is set to 0.
-          keymap overrides the XendD configured default layout file.""")
+          keymap overrides the XendD configured default layout file.
+         Serial adds a second serial support to qemu.""")
 
 gopts.var('vif', 
val="type=TYPE,mac=MAC,bridge=BRIDGE,ip=IPADDR,script=SCRIPT," + \
           "backend=DOM,vifname=NAME,rate=RATE,model=MODEL,accel=ACCEL",
@@ -827,7 +828,7 @@ def configure_vfbs(config_devs, vals):
         for (k,v) in d.iteritems():
             if not k in [ 'vnclisten', 'vncunused', 'vncdisplay', 'display',
                           'videoram', 'xauthority', 'sdl', 'vnc', 'vncpasswd',
-                          'opengl', 'keymap' ]:
+                          'opengl', 'keymap', 'serial' ]:
                 err("configuration option %s unknown to vfbs" % k)
             config.append([k,v])
         if not d.has_key("keymap"):

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-unstable] xend: support multiple consoles per domain, Xen patchbot-unstable <=