xend: support multiple consoles per domain

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
This commit is contained in:
Keir Fraser committed 2009-06-16 11:25:37 +01:00
1 parent c811d0d548
commit 7e03843de6
4 files changed
+24 -7

No files matched your search

+10
View File
@@ -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:
+5 -4
View File
@@ -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 } )
+4 -3
View File
@@ -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,vncunused=1,vncdisplay=N,vnclisten=ADDR,displa
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"):
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.