S390: Add SCLP console front end support

The SCLP console is the native console type for s390 and is preferred
over the virtio console as it doesn't require special drivers and
is more efficient. Recent versions of QEMU come with SCLP support
which is hereby enabled.

The new target types 'sclp' and 'sclplm' can be used to specify a
SCLP console. Adding documentation, domain schema and XML processing
support.

Signed-off-by: J.B. Joret <jb@linux.vnet.ibm.com>
Signed-off-by: Viktor Mihajlovski <mihajlov@linux.vnet.ibm.com>
This commit is contained in:
J.B. Joret 2013-01-07 18:17:14 +01:00 committed by Michal Privoznik
parent 014afe6501
commit d760255d01
4 changed files with 25 additions and 2 deletions

View File

@ -3701,7 +3701,7 @@ qemu-kvm -net nic,model=? /dev/null
</p> </p>
<ul> <ul>
<li>If no <code>targetType</code> attribue is set, then the default <li>If no <code>targetType</code> attribute is set, then the default
device type is according to the hypervisor's rules. The default device type is according to the hypervisor's rules. The default
type will be added when re-querying the XML fed into libvirt. type will be added when re-querying the XML fed into libvirt.
For fully virtualized guests, the default device type will usually For fully virtualized guests, the default device type will usually
@ -3715,6 +3715,12 @@ qemu-kvm -net nic,model=? /dev/null
<li>Only the first <code>console</code> element may use a <code>targetType</code> <li>Only the first <code>console</code> element may use a <code>targetType</code>
of <code>serial</code>. Secondary consoles must all be paravirtualized. of <code>serial</code>. Secondary consoles must all be paravirtualized.
</li> </li>
<li>On s390, the <code>console</code> element may use a
<code>targetType</code> of <code>sclp</code> or <code>sclplm</code>
(line mode). SCLP is the native console type for s390. There's no
controller associated to SCLP consoles.
<span class="since">Since 1.0.2</span>
</li>
</ul> </ul>
<p> <p>
@ -3740,6 +3746,17 @@ qemu-kvm -net nic,model=? /dev/null
&lt;/devices&gt; &lt;/devices&gt;
...</pre> ...</pre>
<pre>
...
&lt;devices&gt;
&lt;!-- KVM s390 sclp console --&gt;
&lt;console type='pty'&gt;
&lt;source path='/dev/pts/1'/&gt;
&lt;target type='sclp' port='0'/&gt;
&lt;/console&gt;
&lt;/devices&gt;
...</pre>
<p> <p>
If the console is presented as a serial port, the <code>target</code> If the console is presented as a serial port, the <code>target</code>
element has the same attributes as for a serial port. There is usually element has the same attributes as for a serial port. There is usually

View File

@ -2467,6 +2467,8 @@
<value>virtio</value> <value>virtio</value>
<value>lxc</value> <value>lxc</value>
<value>openvz</value> <value>openvz</value>
<value>sclp</value>
<value>sclplm</value>
</choice> </choice>
</attribute> </attribute>
</define> </define>

View File

@ -355,7 +355,9 @@ VIR_ENUM_IMPL(virDomainChrConsoleTarget,
"uml", "uml",
"virtio", "virtio",
"lxc", "lxc",
"openvz") "openvz",
"sclp",
"sclplm")
VIR_ENUM_IMPL(virDomainChrDevice, VIR_DOMAIN_CHR_DEVICE_TYPE_LAST, VIR_ENUM_IMPL(virDomainChrDevice, VIR_DOMAIN_CHR_DEVICE_TYPE_LAST,
"parallel", "parallel",

View File

@ -933,6 +933,8 @@ enum virDomainChrConsoleTargetType {
VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_VIRTIO, VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_VIRTIO,
VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_LXC, VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_LXC,
VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_OPENVZ, VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_OPENVZ,
VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_SCLP,
VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_SCLPLM,
VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_LAST VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_LAST
}; };