mirror of
https://github.com/libvirt/libvirt.git
synced 2025-02-25 18:55:26 -06:00
qemu: Rename SupportsChardev to IsPlatformDevice
This is only used in qemu_command.c, so move it, and clarify that it's really about identifying if the serial config is a platform device or not. Reviewed-by: Andrea Bolognani <abologna@redhat.com> Signed-off-by: Cole Robinson <crobinso@redhat.com>
This commit is contained in:
parent
426dc5eb28
commit
405c0f07f5
@ -5549,33 +5549,6 @@ virQEMUCapsCacheFree(virQEMUCapsCachePtr cache)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool
|
|
||||||
virQEMUCapsSupportsChardev(const virDomainDef *def,
|
|
||||||
virQEMUCapsPtr qemuCaps ATTRIBUTE_UNUSED,
|
|
||||||
virDomainChrDefPtr chr)
|
|
||||||
{
|
|
||||||
if ((def->os.arch == VIR_ARCH_PPC) || ARCH_IS_PPC64(def->os.arch)) {
|
|
||||||
if (!qemuDomainIsPSeries(def))
|
|
||||||
return false;
|
|
||||||
/* only pseries need -device spapr-vty with -chardev */
|
|
||||||
if (chr->deviceType == VIR_DOMAIN_CHR_DEVICE_TYPE_SERIAL &&
|
|
||||||
chr->info.type != VIR_DOMAIN_DEVICE_ADDRESS_TYPE_SPAPRVIO)
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (def->os.arch == VIR_ARCH_ARMV7L || def->os.arch == VIR_ARCH_AARCH64) {
|
|
||||||
/* TARGET_TYPE_ISA here really means 'the default', which we
|
|
||||||
treat as whatever the built in platform serial device is on.
|
|
||||||
And for platform devices we can't use -chardev */
|
|
||||||
if (chr->deviceType == VIR_DOMAIN_CHR_DEVICE_TYPE_SERIAL &&
|
|
||||||
chr->targetType == VIR_DOMAIN_CHR_SERIAL_TARGET_TYPE_ISA)
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
bool
|
bool
|
||||||
virQEMUCapsSupportsVmport(virQEMUCapsPtr qemuCaps,
|
virQEMUCapsSupportsVmport(virQEMUCapsPtr qemuCaps,
|
||||||
const virDomainDef *def)
|
const virDomainDef *def)
|
||||||
|
@ -525,10 +525,6 @@ int virQEMUCapsGetDefaultVersion(virCapsPtr caps,
|
|||||||
|
|
||||||
VIR_ENUM_DECL(virQEMUCaps);
|
VIR_ENUM_DECL(virQEMUCaps);
|
||||||
|
|
||||||
bool virQEMUCapsSupportsChardev(const virDomainDef *def,
|
|
||||||
virQEMUCapsPtr qemuCaps,
|
|
||||||
virDomainChrDefPtr chr);
|
|
||||||
|
|
||||||
bool virQEMUCapsSupportsGICVersion(virQEMUCapsPtr qemuCaps,
|
bool virQEMUCapsSupportsGICVersion(virQEMUCapsPtr qemuCaps,
|
||||||
virDomainVirtType virtType,
|
virDomainVirtType virtType,
|
||||||
virGICVersion version);
|
virGICVersion version);
|
||||||
|
@ -9101,6 +9101,30 @@ qemuBuildChrDeviceCommandLine(virCommandPtr cmd,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static bool
|
||||||
|
qemuChrIsPlatformDevice(const virDomainDef *def,
|
||||||
|
virDomainChrDefPtr chr)
|
||||||
|
{
|
||||||
|
if ((def->os.arch == VIR_ARCH_PPC) || ARCH_IS_PPC64(def->os.arch)) {
|
||||||
|
if (!qemuDomainIsPSeries(def))
|
||||||
|
return true;
|
||||||
|
/* only pseries need -device spapr-vty with -chardev */
|
||||||
|
if (chr->deviceType == VIR_DOMAIN_CHR_DEVICE_TYPE_SERIAL &&
|
||||||
|
chr->info.type != VIR_DOMAIN_DEVICE_ADDRESS_TYPE_SPAPRVIO)
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (def->os.arch == VIR_ARCH_ARMV7L || def->os.arch == VIR_ARCH_AARCH64) {
|
||||||
|
/* TARGET_TYPE_ISA here really means 'the default platform device' */
|
||||||
|
if (chr->deviceType == VIR_DOMAIN_CHR_DEVICE_TYPE_SERIAL &&
|
||||||
|
chr->targetType == VIR_DOMAIN_CHR_SERIAL_TARGET_TYPE_ISA)
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
qemuBuildSerialCommandLine(virLogManagerPtr logManager,
|
qemuBuildSerialCommandLine(virLogManagerPtr logManager,
|
||||||
virCommandPtr cmd,
|
virCommandPtr cmd,
|
||||||
@ -9136,8 +9160,8 @@ qemuBuildSerialCommandLine(virLogManagerPtr logManager,
|
|||||||
virCommandAddArg(cmd, devstr);
|
virCommandAddArg(cmd, devstr);
|
||||||
VIR_FREE(devstr);
|
VIR_FREE(devstr);
|
||||||
|
|
||||||
/* Use -chardev with -device if they are available */
|
/* If the device is not a platform device, build the devstr */
|
||||||
if (virQEMUCapsSupportsChardev(def, qemuCaps, serial)) {
|
if (!qemuChrIsPlatformDevice(def, serial)) {
|
||||||
if (qemuBuildChrDeviceCommandLine(cmd, def, serial, qemuCaps) < 0)
|
if (qemuBuildChrDeviceCommandLine(cmd, def, serial, qemuCaps) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
Reference in New Issue
Block a user