mirror of
https://github.com/libvirt/libvirt.git
synced 2025-02-25 18:55:26 -06:00
Revert "S390: domain_conf support for CCW"
This reverts commit 0bbbd42c30
.
The design for this feature is not complete, and may change the
name of the 'schid' attribute. Revert requested by Viktor Mihajlovski.
This commit is contained in:
parent
035b0db8ba
commit
d76f3e0643
@ -186,8 +186,7 @@ VIR_ENUM_IMPL(virDomainDeviceAddress, VIR_DOMAIN_DEVICE_ADDRESS_TYPE_LAST,
|
||||
"ccid",
|
||||
"usb",
|
||||
"spapr-vio",
|
||||
"virtio-s390",
|
||||
"ccw")
|
||||
"virtio-s390")
|
||||
|
||||
VIR_ENUM_IMPL(virDomainDisk, VIR_DOMAIN_DISK_TYPE_LAST,
|
||||
"block",
|
||||
@ -2139,13 +2138,6 @@ void virDomainObjListRemove(virDomainObjListPtr doms,
|
||||
virObjectUnlock(doms);
|
||||
}
|
||||
|
||||
static int
|
||||
virDomainDeviceCCWAddressIsValid(virDomainDeviceCCWAddressPtr addr)
|
||||
{
|
||||
return addr->cssid <= VIR_DOMAIN_DEVICE_CCW_MAX_CSSID &&
|
||||
addr->ssid <= VIR_DOMAIN_DEVICE_CCW_MAX_SSID &&
|
||||
addr->schid <= VIR_DOMAIN_DEVICE_CCW_MAX_SCHID;
|
||||
}
|
||||
|
||||
int virDomainDeviceAddressIsValid(virDomainDeviceInfoPtr info,
|
||||
int type)
|
||||
@ -2160,12 +2152,6 @@ int virDomainDeviceAddressIsValid(virDomainDeviceInfoPtr info,
|
||||
case VIR_DOMAIN_DEVICE_ADDRESS_TYPE_DRIVE:
|
||||
return 1;
|
||||
|
||||
case VIR_DOMAIN_DEVICE_ADDRESS_TYPE_VIRTIO_S390:
|
||||
return 1;
|
||||
|
||||
case VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCW:
|
||||
return virDomainDeviceCCWAddressIsValid(&info->addr.ccw);
|
||||
|
||||
case VIR_DOMAIN_DEVICE_ADDRESS_TYPE_USB:
|
||||
return 1;
|
||||
}
|
||||
@ -2247,19 +2233,6 @@ static int virDomainDeviceInfoClearPCIAddress(virDomainDefPtr def ATTRIBUTE_UNUS
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
virDomainDeviceInfoClearCCWAddress(virDomainDefPtr def ATTRIBUTE_UNUSED,
|
||||
virDomainDeviceDefPtr device ATTRIBUTE_UNUSED,
|
||||
virDomainDeviceInfoPtr info,
|
||||
void *opaque ATTRIBUTE_UNUSED)
|
||||
{
|
||||
if (info->type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCW) {
|
||||
memset(&info->addr, 0, sizeof(info->addr));
|
||||
info->type = VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
int virDomainDeviceInfoIterate(virDomainDefPtr def,
|
||||
virDomainDeviceInfoCallback cb,
|
||||
void *opaque)
|
||||
@ -2408,11 +2381,6 @@ void virDomainDefClearPCIAddresses(virDomainDefPtr def)
|
||||
virDomainDeviceInfoIterate(def, virDomainDeviceInfoClearPCIAddress, NULL);
|
||||
}
|
||||
|
||||
void virDomainDefClearCCWAddresses(virDomainDefPtr def)
|
||||
{
|
||||
virDomainDeviceInfoIterate(def, virDomainDeviceInfoClearCCWAddress, NULL);
|
||||
}
|
||||
|
||||
void virDomainDefClearDeviceAliases(virDomainDefPtr def)
|
||||
{
|
||||
virDomainDeviceInfoIterate(def, virDomainDeviceInfoClearAlias, NULL);
|
||||
@ -2514,13 +2482,6 @@ virDomainDeviceInfoFormat(virBufferPtr buf,
|
||||
virBufferAsprintf(buf, " reg='0x%llx'", info->addr.spaprvio.reg);
|
||||
break;
|
||||
|
||||
case VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCW:
|
||||
virBufferAsprintf(buf, " cssid='0x%x' ssid='0x%x' schid='0x%04x'",
|
||||
info->addr.ccw.cssid,
|
||||
info->addr.ccw.ssid,
|
||||
info->addr.ccw.schid);
|
||||
break;
|
||||
|
||||
default:
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||
_("unknown address type '%d'"), info->type);
|
||||
@ -2630,64 +2591,6 @@ cleanup:
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int
|
||||
virDomainDeviceCCWAddressParseXML(xmlNodePtr node,
|
||||
virDomainDeviceCCWAddressPtr addr)
|
||||
{
|
||||
int ret = -1;
|
||||
char *cssid;
|
||||
char *ssid;
|
||||
char *schid;
|
||||
|
||||
memset(addr, 0, sizeof(*addr));
|
||||
|
||||
cssid = virXMLPropString(node, "cssid");
|
||||
ssid = virXMLPropString(node, "ssid");
|
||||
schid = virXMLPropString(node, "schid");
|
||||
|
||||
if (cssid && ssid && schid) {
|
||||
if (cssid &&
|
||||
virStrToLong_ui(cssid, NULL, 0, &addr->cssid) < 0) {
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||
_("Cannot parse <address> 'cssid' attribute"));
|
||||
goto cleanup;
|
||||
}
|
||||
if (ssid &&
|
||||
virStrToLong_ui(ssid, NULL, 0, &addr->ssid) < 0) {
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||
_("Cannot parse <address> 'ssid' attribute"));
|
||||
goto cleanup;
|
||||
}
|
||||
if (schid &&
|
||||
virStrToLong_ui(schid, NULL, 0, &addr->schid) < 0) {
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||
_("Cannot parse <address> 'schid' attribute"));
|
||||
goto cleanup;
|
||||
}
|
||||
if (!virDomainDeviceCCWAddressIsValid(addr)) {
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||
_("Invalid specification for virtio ccw"
|
||||
" address: cssid='%s' ssid='%s' schid='%s'"),
|
||||
cssid, ssid, schid);
|
||||
goto cleanup;
|
||||
}
|
||||
addr->assigned = true;
|
||||
} else if (cssid || ssid || schid) {
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||
_("Invalid partial specification for virtio ccw"
|
||||
" address"));
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
ret = 0;
|
||||
|
||||
cleanup:
|
||||
VIR_FREE(cssid);
|
||||
VIR_FREE(ssid);
|
||||
VIR_FREE(schid);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int
|
||||
virDomainDeviceCcidAddressParseXML(xmlNodePtr node,
|
||||
virDomainDeviceCcidAddressPtr addr)
|
||||
@ -2981,12 +2884,6 @@ virDomainDeviceInfoParseXML(xmlNodePtr node,
|
||||
goto cleanup;
|
||||
break;
|
||||
|
||||
case VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCW:
|
||||
if (virDomainDeviceCCWAddressParseXML
|
||||
(address, &info->addr.ccw) < 0)
|
||||
goto cleanup;
|
||||
break;
|
||||
|
||||
default:
|
||||
/* Should not happen */
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||
@ -4858,7 +4755,6 @@ virDomainControllerDefParseXML(xmlNodePtr node,
|
||||
|
||||
if (def->info.type != VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE &&
|
||||
def->info.type != VIR_DOMAIN_DEVICE_ADDRESS_TYPE_SPAPRVIO &&
|
||||
def->info.type != VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCW &&
|
||||
def->info.type != VIR_DOMAIN_DEVICE_ADDRESS_TYPE_VIRTIO_S390 &&
|
||||
def->info.type != VIR_DOMAIN_DEVICE_ADDRESS_TYPE_PCI) {
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||
@ -5456,7 +5352,6 @@ virDomainNetDefParseXML(virCapsPtr caps,
|
||||
* them we should make sure address type is correct */
|
||||
if (def->info.type != VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE &&
|
||||
def->info.type != VIR_DOMAIN_DEVICE_ADDRESS_TYPE_SPAPRVIO &&
|
||||
def->info.type != VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCW &&
|
||||
def->info.type != VIR_DOMAIN_DEVICE_ADDRESS_TYPE_VIRTIO_S390 &&
|
||||
def->info.type != VIR_DOMAIN_DEVICE_ADDRESS_TYPE_PCI) {
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||
|
@ -195,7 +195,6 @@ enum virDomainDeviceAddressType {
|
||||
VIR_DOMAIN_DEVICE_ADDRESS_TYPE_USB,
|
||||
VIR_DOMAIN_DEVICE_ADDRESS_TYPE_SPAPRVIO,
|
||||
VIR_DOMAIN_DEVICE_ADDRESS_TYPE_VIRTIO_S390,
|
||||
VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCW,
|
||||
|
||||
VIR_DOMAIN_DEVICE_ADDRESS_TYPE_LAST
|
||||
};
|
||||
@ -225,19 +224,6 @@ struct _virDomainDeviceVirtioSerialAddress {
|
||||
unsigned int port;
|
||||
};
|
||||
|
||||
# define VIR_DOMAIN_DEVICE_CCW_MAX_CSSID 254
|
||||
# define VIR_DOMAIN_DEVICE_CCW_MAX_SSID 3
|
||||
# define VIR_DOMAIN_DEVICE_CCW_MAX_SCHID 65535
|
||||
|
||||
typedef struct _virDomainDeviceCCWAddress virDomainDeviceCCWAddress;
|
||||
typedef virDomainDeviceCCWAddress *virDomainDeviceCCWAddressPtr;
|
||||
struct _virDomainDeviceCCWAddress {
|
||||
unsigned int cssid;
|
||||
unsigned int ssid;
|
||||
unsigned int schid;
|
||||
bool assigned;
|
||||
};
|
||||
|
||||
typedef struct _virDomainDeviceCcidAddress virDomainDeviceCcidAddress;
|
||||
typedef virDomainDeviceCcidAddress *virDomainDeviceCcidAddressPtr;
|
||||
struct _virDomainDeviceCcidAddress {
|
||||
@ -288,7 +274,6 @@ struct _virDomainDeviceInfo {
|
||||
virDomainDeviceCcidAddress ccid;
|
||||
virDomainDeviceUSBAddress usb;
|
||||
virDomainDeviceSpaprVioAddress spaprvio;
|
||||
virDomainDeviceCCWAddress ccw;
|
||||
} addr;
|
||||
int mastertype;
|
||||
union {
|
||||
@ -2002,7 +1987,6 @@ int virDomainDeviceInfoCopy(virDomainDeviceInfoPtr dst,
|
||||
virDomainDeviceInfoPtr src);
|
||||
void virDomainDeviceInfoClear(virDomainDeviceInfoPtr info);
|
||||
void virDomainDefClearPCIAddresses(virDomainDefPtr def);
|
||||
void virDomainDefClearCCWAddresses(virDomainDefPtr def);
|
||||
void virDomainDefClearDeviceAliases(virDomainDefPtr def);
|
||||
|
||||
typedef int (*virDomainDeviceInfoCallback)(virDomainDefPtr def,
|
||||
|
@ -110,7 +110,6 @@ virDomainCpuPlacementModeTypeToString;
|
||||
virDomainDefAddImplicitControllers;
|
||||
virDomainDefAddSecurityLabelDef;
|
||||
virDomainDefCheckABIStability;
|
||||
virDomainDefClearCCWAddresses;
|
||||
virDomainDefClearDeviceAliases;
|
||||
virDomainDefClearPCIAddresses;
|
||||
virDomainDefCompatibleDevice;
|
||||
|
Loading…
Reference in New Issue
Block a user