qemu: Set targetModel based on targetType for serial devices

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
This commit is contained in:
Andrea Bolognani 2017-11-20 13:02:30 +01:00
parent 5ad9d9afd4
commit 72bf21f233
43 changed files with 185 additions and 55 deletions

View File

@ -4192,6 +4192,26 @@ qemuDomainChrDefPostParse(virDomainChrDefPtr chr,
}
}
/* Set the default target model */
if (chr->deviceType == VIR_DOMAIN_CHR_DEVICE_TYPE_SERIAL &&
chr->targetModel == VIR_DOMAIN_CHR_SERIAL_TARGET_MODEL_NONE) {
switch ((virDomainChrSerialTargetType) chr->targetType) {
case VIR_DOMAIN_CHR_SERIAL_TARGET_TYPE_ISA:
chr->targetModel = VIR_DOMAIN_CHR_SERIAL_TARGET_MODEL_ISA_SERIAL;
break;
case VIR_DOMAIN_CHR_SERIAL_TARGET_TYPE_USB:
chr->targetModel = VIR_DOMAIN_CHR_SERIAL_TARGET_MODEL_USB_SERIAL;
break;
case VIR_DOMAIN_CHR_SERIAL_TARGET_TYPE_PCI:
chr->targetModel = VIR_DOMAIN_CHR_SERIAL_TARGET_MODEL_PCI_SERIAL;
break;
case VIR_DOMAIN_CHR_SERIAL_TARGET_TYPE_NONE:
case VIR_DOMAIN_CHR_SERIAL_TARGET_TYPE_LAST:
/* Nothing to do */
break;
}
}
/* clear auto generated unix socket path for inactive definitions */
if (parseFlags & VIR_DOMAIN_DEF_PARSE_INACTIVE) {
if (qemuDomainChrDefDropDefaultPath(chr, driver) < 0)

View File

@ -28,7 +28,9 @@
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
</controller>
<serial type='pty'>
<target type='isa-serial' port='0'/>
<target type='isa-serial' port='0'>
<model name='isa-serial'/>
</target>
</serial>
<console type='pty'>
<target type='serial' port='0'/>

View File

@ -29,7 +29,9 @@
</controller>
<serial type='dev'>
<source path='/dev/ttyS2'/>
<target type='isa-serial' port='0'/>
<target type='isa-serial' port='0'>
<model name='isa-serial'/>
</target>
</serial>
<console type='dev'>
<source path='/dev/ttyS2'/>

View File

@ -29,7 +29,9 @@
</controller>
<serial type='file'>
<source path='/tmp/serial.log'/>
<target type='isa-serial' port='0'/>
<target type='isa-serial' port='0'>
<model name='isa-serial'/>
</target>
</serial>
<console type='file'>
<source path='/tmp/serial.log'/>

View File

@ -28,11 +28,15 @@
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
</controller>
<serial type='pty'>
<target type='isa-serial' port='0'/>
<target type='isa-serial' port='0'>
<model name='isa-serial'/>
</target>
</serial>
<serial type='file'>
<source path='/tmp/serial.log'/>
<target type='isa-serial' port='1'/>
<target type='isa-serial' port='1'>
<model name='isa-serial'/>
</target>
</serial>
<console type='pty'>
<target type='serial' port='0'/>

View File

@ -28,7 +28,9 @@
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
</controller>
<serial type='pty'>
<target type='isa-serial' port='0'/>
<target type='isa-serial' port='0'>
<model name='isa-serial'/>
</target>
</serial>
<console type='pty'>
<target type='serial' port='0'/>

View File

@ -30,7 +30,9 @@
<serial type='tcp'>
<source mode='bind' host='127.0.0.1' service='9999'/>
<protocol type='telnet'/>
<target type='isa-serial' port='0'/>
<target type='isa-serial' port='0'>
<model name='isa-serial'/>
</target>
</serial>
<console type='tcp'>
<source mode='bind' host='127.0.0.1' service='9999'/>

View File

@ -30,7 +30,9 @@
<serial type='tcp'>
<source mode='connect' host='127.0.0.1' service='9999'/>
<protocol type='raw'/>
<target type='isa-serial' port='0'/>
<target type='isa-serial' port='0'>
<model name='isa-serial'/>
</target>
</serial>
<console type='tcp'>
<source mode='connect' host='127.0.0.1' service='9999'/>

View File

@ -30,11 +30,15 @@
<serial type='udp'>
<source mode='bind' host='127.0.0.1' service='9999'/>
<source mode='connect' host='127.0.0.1' service='9998'/>
<target type='isa-serial' port='0'/>
<target type='isa-serial' port='0'>
<model name='isa-serial'/>
</target>
</serial>
<serial type='udp'>
<source mode='connect' service='9999'/>
<target type='isa-serial' port='1'/>
<target type='isa-serial' port='1'>
<model name='isa-serial'/>
</target>
</serial>
<console type='udp'>
<source mode='bind' host='127.0.0.1' service='9999'/>

View File

@ -29,7 +29,9 @@
</controller>
<serial type='unix'>
<source mode='connect' path='/tmp/serial.sock'/>
<target type='isa-serial' port='0'/>
<target type='isa-serial' port='0'>
<model name='isa-serial'/>
</target>
</serial>
<console type='unix'>
<source mode='connect' path='/tmp/serial.sock'/>

View File

@ -28,7 +28,9 @@
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
</controller>
<serial type='vc'>
<target type='isa-serial' port='0'/>
<target type='isa-serial' port='0'>
<model name='isa-serial'/>
</target>
</serial>
<console type='vc'>
<target type='serial' port='0'/>

View File

@ -68,17 +68,23 @@
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
<serial type='pty'>
<target type='isa-serial' port='0'/>
<target type='isa-serial' port='0'>
<model name='isa-serial'/>
</target>
<alias name='serial0'/>
</serial>
<serial type='pty'>
<target type='isa-serial' port='0'/>
<target type='isa-serial' port='0'>
<model name='isa-serial'/>
</target>
<alias name='serial1'/>
</serial>
<serial type='tcp'>
<source mode='bind' host='0.0.0.0' service='2445'/>
<protocol type='raw'/>
<target type='isa-serial' port='1'/>
<target type='isa-serial' port='1'>
<model name='isa-serial'/>
</target>
<alias name='serial2'/>
</serial>
<console type='pty'>

View File

@ -68,17 +68,23 @@
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
<serial type='pty'>
<target type='isa-serial' port='0'/>
<target type='isa-serial' port='0'>
<model name='isa-serial'/>
</target>
<alias name='serial0'/>
</serial>
<serial type='pty'>
<target type='isa-serial' port='0'/>
<target type='isa-serial' port='0'>
<model name='isa-serial'/>
</target>
<alias name='serial1'/>
</serial>
<serial type='tcp'>
<source mode='bind' host='0.0.0.0' service='2445'/>
<protocol type='raw'/>
<target type='isa-serial' port='1'/>
<target type='isa-serial' port='1'>
<model name='isa-serial'/>
</target>
<alias name='serial2'/>
</serial>
<console type='pty'>

View File

@ -29,12 +29,16 @@
<serial type='udp'>
<source mode='bind' host='127.0.0.1' service='1111'/>
<source mode='connect' host='127.0.0.1' service='2222'/>
<target type='isa-serial' port='0'/>
<target type='isa-serial' port='0'>
<model name='isa-serial'/>
</target>
</serial>
<serial type='tcp'>
<source mode='connect' host='127.0.0.1' service='5555' tls='no'/>
<protocol type='raw'/>
<target type='isa-serial' port='0'/>
<target type='isa-serial' port='0'>
<model name='isa-serial'/>
</target>
</serial>
<console type='udp'>
<source mode='bind' host='127.0.0.1' service='1111'/>

View File

@ -110,10 +110,14 @@
<address type='pci' domain='0x0000' bus='0x00' slot='0x0a' function='0x0'/>
</interface>
<serial type='pty'>
<target type='isa-serial' port='0'/>
<target type='isa-serial' port='0'>
<model name='isa-serial'/>
</target>
</serial>
<serial type='pty'>
<target type='isa-serial' port='1'/>
<target type='isa-serial' port='1'>
<model name='isa-serial'/>
</target>
</serial>
<console type='pty'>
<target type='serial' port='0'/>

View File

@ -34,7 +34,9 @@
</controller>
<serial type='pty'>
<log file='/tmp/log' append='on'/>
<target type='pci-serial' port='0'/>
<target type='pci-serial' port='0'>
<model name='pci-serial'/>
</target>
<address type='pci' domain='0x0000' bus='0x02' slot='0x01' function='0x0'/>
</serial>
</devices>

View File

@ -33,7 +33,9 @@
</controller>
<controller type='pci' index='0' model='pci-root'/>
<serial type='pty'>
<target type='isa-serial' port='0'/>
<target type='isa-serial' port='0'>
<model name='isa-serial'/>
</target>
</serial>
<console type='pty'>
<target type='serial' port='0'/>

View File

@ -25,13 +25,17 @@
<source path='/tmp/serial.file'>
<seclabel model='dac' relabel='no'/>
</source>
<target type='isa-serial' port='0'/>
<target type='isa-serial' port='0'>
<model name='isa-serial'/>
</target>
</serial>
<serial type='unix'>
<source mode='connect' path='/tmp/serial.sock'>
<seclabel model='dac' relabel='no'/>
</source>
<target type='isa-serial' port='1'/>
<target type='isa-serial' port='1'>
<model name='isa-serial'/>
</target>
</serial>
<console type='file'>
<source path='/tmp/serial.file'>

View File

@ -27,7 +27,9 @@
</controller>
<controller type='pci' index='0' model='pci-root'/>
<serial type='pty'>
<target type='isa-serial' port='0'/>
<target type='isa-serial' port='0'>
<model name='isa-serial'/>
</target>
</serial>
<console type='pty'>
<target type='serial' port='0'/>

View File

@ -28,7 +28,9 @@
</controller>
<controller type='pci' index='0' model='pci-root'/>
<serial type='pty'>
<target type='isa-serial' port='0'/>
<target type='isa-serial' port='0'>
<model name='isa-serial'/>
</target>
</serial>
<console type='pty'>
<target type='serial' port='0'/>

View File

@ -31,7 +31,9 @@
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</controller>
<serial type='pty'>
<target type='isa-serial' port='0'/>
<target type='isa-serial' port='0'>
<model name='isa-serial'/>
</target>
</serial>
<console type='pty'>
<target type='serial' port='0'/>

View File

@ -30,7 +30,9 @@
</controller>
<controller type='pci' index='0' model='pci-root'/>
<serial type='pty'>
<target type='isa-serial' port='0'/>
<target type='isa-serial' port='0'>
<model name='isa-serial'/>
</target>
</serial>
<console type='pty'>
<target type='serial' port='0'/>

View File

@ -47,7 +47,9 @@
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
<serial type='pty'>
<target type='isa-serial' port='0'/>
<target type='isa-serial' port='0'>
<model name='isa-serial'/>
</target>
</serial>
<console type='pty'>
<target type='serial' port='0'/>

View File

@ -104,10 +104,14 @@
<address type='pci' domain='0x0000' bus='0x00' slot='0x0a' function='0x0'/>
</interface>
<serial type='pty'>
<target type='isa-serial' port='0'/>
<target type='isa-serial' port='0'>
<model name='isa-serial'/>
</target>
</serial>
<serial type='pty'>
<target type='isa-serial' port='1'/>
<target type='isa-serial' port='1'>
<model name='isa-serial'/>
</target>
</serial>
<console type='pty'>
<target type='serial' port='0'/>

View File

@ -55,7 +55,9 @@
<address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
</interface>
<serial type='pty'>
<target type='isa-serial' port='0'/>
<target type='isa-serial' port='0'>
<model name='isa-serial'/>
</target>
</serial>
<console type='pty'>
<target type='serial' port='0'/>

View File

@ -44,7 +44,9 @@
<address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
</interface>
<serial type='pty'>
<target type='isa-serial' port='0'/>
<target type='isa-serial' port='0'>
<model name='isa-serial'/>
</target>
</serial>
<console type='pty'>
<target type='serial' port='0'/>

View File

@ -57,7 +57,9 @@
<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
</interface>
<serial type='pty'>
<target type='isa-serial' port='0'/>
<target type='isa-serial' port='0'>
<model name='isa-serial'/>
</target>
</serial>
<console type='pty'>
<target type='serial' port='0'/>

View File

@ -54,7 +54,9 @@
<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
</interface>
<serial type='pty'>
<target type='isa-serial' port='0'/>
<target type='isa-serial' port='0'>
<model name='isa-serial'/>
</target>
</serial>
<console type='pty'>
<target type='serial' port='0'/>

View File

@ -22,7 +22,9 @@
<target index='0'/>
</controller>
<serial type='pty'>
<target type='isa-serial' port='0'/>
<target type='isa-serial' port='0'>
<model name='isa-serial'/>
</target>
<address type='spapr-vio' reg='0x30000000'/>
</serial>
<console type='pty'>

View File

@ -28,7 +28,9 @@
<controller type='pci' index='0' model='pci-root'/>
<serial type='dev'>
<source path='/dev/ttyS2'/>
<target type='pci-serial' port='0'/>
<target type='pci-serial' port='0'>
<model name='pci-serial'/>
</target>
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</serial>
<console type='dev'>

View File

@ -25,7 +25,9 @@
<target index='0'/>
</controller>
<serial type='pty'>
<target type='isa-serial' port='0'/>
<target type='isa-serial' port='0'>
<model name='isa-serial'/>
</target>
<address type='spapr-vio' reg='0x30000000'/>
</serial>
<console type='pty'>

View File

@ -25,7 +25,9 @@
<target index='0'/>
</controller>
<serial type='pty'>
<target type='isa-serial' port='0'/>
<target type='isa-serial' port='0'>
<model name='isa-serial'/>
</target>
<address type='spapr-vio' reg='0x30000000'/>
</serial>
<console type='pty'>

View File

@ -26,7 +26,9 @@
<target index='0'/>
</controller>
<serial type='pty'>
<target type='isa-serial' port='0'/>
<target type='isa-serial' port='0'>
<model name='isa-serial'/>
</target>
<address type='spapr-vio' reg='0x30000000'/>
</serial>
<console type='pty'>

View File

@ -22,7 +22,9 @@
<target index='0'/>
</controller>
<serial type='pty'>
<target type='isa-serial' port='0'/>
<target type='isa-serial' port='0'>
<model name='isa-serial'/>
</target>
<address type='spapr-vio' reg='0x30000000'/>
</serial>
<console type='pty'>

View File

@ -22,7 +22,9 @@
<target index='0'/>
</controller>
<serial type='pty'>
<target type='isa-serial' port='0'/>
<target type='isa-serial' port='0'>
<model name='isa-serial'/>
</target>
<address type='spapr-vio' reg='0x30000000'/>
</serial>
<console type='pty'>

View File

@ -79,7 +79,9 @@
<address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
</interface>
<serial type='pty'>
<target type='isa-serial' port='0'/>
<target type='isa-serial' port='0'>
<model name='isa-serial'/>
</target>
</serial>
<console type='pty'>
<target type='serial' port='0'/>

View File

@ -28,7 +28,9 @@
<controller type='pci' index='0' model='pci-root'/>
<serial type='spiceport'>
<source channel='org.qemu.console.serial.0'/>
<target type='isa-serial' port='0'/>
<target type='isa-serial' port='0'>
<model name='isa-serial'/>
</target>
</serial>
<console type='spiceport'>
<source channel='org.qemu.console.serial.0'/>

View File

@ -28,7 +28,9 @@
<controller type='pci' index='0' model='pci-root'/>
<serial type='spiceport'>
<source channel='org.qemu.console.serial.0'/>
<target type='isa-serial' port='0'/>
<target type='isa-serial' port='0'>
<model name='isa-serial'/>
</target>
</serial>
<console type='spiceport'>
<source channel='org.qemu.console.serial.0'/>

View File

@ -27,13 +27,19 @@
</controller>
<controller type='pci' index='0' model='pci-root'/>
<serial type='pty'>
<target type='isa-serial' port='0'/>
<target type='isa-serial' port='0'>
<model name='isa-serial'/>
</target>
</serial>
<serial type='null'>
<target type='isa-serial' port='1'/>
<target type='isa-serial' port='1'>
<model name='isa-serial'/>
</target>
</serial>
<serial type='stdio'>
<target type='isa-serial' port='2'/>
<target type='isa-serial' port='2'>
<model name='isa-serial'/>
</target>
</serial>
<console type='pty'>
<target type='serial' port='0'/>

View File

@ -29,12 +29,16 @@
<serial type='udp'>
<source mode='bind' host='127.0.0.1' service='1111'/>
<source mode='connect' host='127.0.0.1' service='2222'/>
<target type='isa-serial' port='0'/>
<target type='isa-serial' port='0'>
<model name='isa-serial'/>
</target>
</serial>
<serial type='tcp'>
<source mode='connect' host='127.0.0.1' service='5555'/>
<protocol type='raw'/>
<target type='isa-serial' port='0'/>
<target type='isa-serial' port='0'>
<model name='isa-serial'/>
</target>
</serial>
<console type='udp'>
<source mode='bind' host='127.0.0.1' service='1111'/>

View File

@ -42,7 +42,9 @@
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</interface>
<serial type='pty'>
<target type='isa-serial' port='0'/>
<target type='isa-serial' port='0'>
<model name='isa-serial'/>
</target>
</serial>
<console type='pty'>
<target type='serial' port='0'/>

View File

@ -48,7 +48,9 @@
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
<serial type='pty'>
<target type='isa-serial' port='0'/>
<target type='isa-serial' port='0'>
<model name='isa-serial'/>
</target>
</serial>
<console type='pty'>
<target type='serial' port='0'/>

View File

@ -46,7 +46,9 @@
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
<serial type='pty'>
<target type='isa-serial' port='0'/>
<target type='isa-serial' port='0'>
<model name='isa-serial'/>
</target>
</serial>
<console type='pty'>
<target type='serial' port='0'/>