{
struct ppc_vendor *vendor = NULL;
- if (VIR_ALLOC(vendor) < 0) {
- virReportOOMError();
+ if (VIR_ALLOC(vendor) < 0)
return -1;
- }
vendor->name = virXPathString("string(@name)", ctxt);
if (!vendor->name) {
char *vendor = NULL;
unsigned long pvr;
- if (VIR_ALLOC(model) < 0) {
- virReportOOMError();
+ if (VIR_ALLOC(model) < 0)
return -1;
- }
model->name = virXPathString("string(@name)", ctxt);
if (!model->name) {
{
struct ppc_map *map;
- if (VIR_ALLOC(map) < 0) {
- virReportOOMError();
+ if (VIR_ALLOC(map) < 0)
return NULL;
- }
if (cpuMapLoad("ppc64", ppcMapLoadCallback, map) < 0)
goto error;
{
union cpuData *data;
- if (VIR_ALLOC(data) < 0) {
- virReportOOMError();
+ if (VIR_ALLOC(data) < 0)
return NULL;
- }
asm("mfpvr %0"
: "=r" (data->ppc.pvr));
if (VIR_ALLOC(cpu) < 0 ||
VIR_STRDUP(cpu->model, model->name) < 0)
- goto no_memory;
+ goto error;
if (vendor && VIR_STRDUP(cpu->vendor, vendor->name) < 0)
goto error;
return cpu;
-no_memory:
- virReportOOMError();
error:
virCPUDefFree(cpu);
cpu = NULL;
if (basic_by > 0) {
size_t len = data->x86.basic_len;
if (VIR_EXPAND_N(data->x86.basic, data->x86.basic_len, basic_by) < 0)
- goto no_memory;
+ return -1;
for (i = 0; i < basic_by; i++)
data->x86.basic[len + i].function = len + i;
if (extended_by > 0) {
size_t len = data->x86.extended_len;
if (VIR_EXPAND_N(data->x86.extended, data->x86.extended_len, extended_by) < 0)
- goto no_memory;
+ return -1;
for (i = 0; i < extended_by; i++)
data->x86.extended[len + i].function = len + i + CPUX86_EXTENDED;
}
return 0;
-
-no_memory:
- virReportOOMError();
- return -1;
}
VIR_STRDUP(cpu->model, model->name) < 0 ||
!(copy = x86DataCopy(data)) ||
!(modelData = x86DataCopy(model->data)))
- goto no_memory;
+ goto error;
if ((vendor = x86DataToVendor(copy, map)) &&
VIR_STRDUP(cpu->vendor, vendor->name) < 0)
- goto no_memory;
+ goto error;
x86DataSubtract(copy, modelData);
x86DataSubtract(modelData, data);
x86DataFree(copy);
return cpu;
-no_memory:
- virReportOOMError();
error:
virCPUDefFree(cpu);
cpu = NULL;
int ret = 0;
if (VIR_ALLOC(vendor) < 0)
- goto no_memory;
+ goto error;
vendor->name = virXPathString("string(@name)", ctxt);
if (!vendor->name) {
return ret;
-no_memory:
- virReportOOMError();
+error:
ret = -1;
ignore:
x86VendorFree(vendor);
int n;
if (!(feature = x86FeatureNew()))
- goto no_memory;
+ goto error;
feature->name = virXPathString("string(@name)", ctxt);
if (feature->name == NULL) {
cpuid.edx = edx;
if (x86DataAddCpuid(feature->data, &cpuid))
- goto no_memory;
+ goto error;
}
if (map->features == NULL)
return ret;
-no_memory:
- virReportOOMError();
+error:
ret = -1;
ignore:
}
if ((model = x86ModelCopy(model)) == NULL)
- goto no_memory;
+ goto error;
} else if (!(model = x86ModelNew())) {
- goto no_memory;
+ goto error;
} else if (cpu->type == VIR_CPU_TYPE_HOST) {
return model;
}
}
if (x86DataAdd(model->data, feature->data))
- goto no_memory;
+ goto error;
}
return model;
-no_memory:
- virReportOOMError();
-
error:
x86ModelFree(model);
return NULL;
int n;
if (!(model = x86ModelNew()))
- goto no_memory;
+ goto error;
model->name = virXPathString("string(@name)", ctxt);
if (model->name == NULL) {
model->vendor = ancestor->vendor;
x86DataFree(model->data);
if (!(model->data = x86DataCopy(ancestor->data)))
- goto no_memory;
+ goto error;
}
if (virXPathBoolean("boolean(./vendor)", ctxt)) {
VIR_FREE(name);
if (x86DataAdd(model->data, feature->data))
- goto no_memory;
+ goto error;
}
if (map->models == NULL)
VIR_FREE(nodes);
return ret;
-no_memory:
- virReportOOMError();
+error:
ret = -1;
ignore:
{
struct x86_map *map;
- if (VIR_ALLOC(map) < 0) {
- virReportOOMError();
+ if (VIR_ALLOC(map) < 0)
return NULL;
- }
if (cpuMapLoad("x86", x86MapLoadCallback, map) < 0)
goto error;
#define virX86CpuIncompatible(MSG, CPU_DEF) \
do { \
char *flagsStr = NULL; \
- if (!(flagsStr = x86FeatureNames(map, ", ", (CPU_DEF)))) \
- goto no_memory; \
+ if (!(flagsStr = x86FeatureNames(map, ", ", (CPU_DEF)))) { \
+ virReportOOMError(); \
+ goto error; \
+ } \
if (message && \
virAsprintf(message, "%s: %s", _(MSG), flagsStr) < 0) { \
VIR_FREE(flagsStr); \
- goto no_memory; \
+ goto error; \
} \
VIR_DEBUG("%s: %s", MSG, flagsStr); \
VIR_FREE(flagsStr); \
virAsprintf(message,
_("CPU arch %s does not match host arch"),
virArchToString(cpu->arch)) < 0)
- goto no_memory;
+ goto error;
return VIR_CPU_COMPARE_INCOMPATIBLE;
}
}
_("host CPU vendor does not match required "
"CPU vendor %s"),
cpu->vendor) < 0)
- goto no_memory;
+ goto error;
return VIR_CPU_COMPARE_INCOMPATIBLE;
}
ret = VIR_CPU_COMPARE_IDENTICAL;
if ((diff = x86ModelCopy(host_model)) == NULL)
- goto no_memory;
+ goto error;
x86DataSubtract(diff->data, cpu_optional->data);
x86DataSubtract(diff->data, cpu_require->data);
if (guest != NULL) {
if ((guest_model = x86ModelCopy(host_model)) == NULL)
- goto no_memory;
+ goto error;
if (cpu->type == VIR_CPU_TYPE_GUEST
&& cpu->match == VIR_CPU_MATCH_EXACT)
x86DataSubtract(guest_model->data, diff->data);
if (x86DataAdd(guest_model->data, cpu_force->data))
- goto no_memory;
+ goto error;
x86DataSubtract(guest_model->data, cpu_disable->data);
if ((*guest = x86DataCopy(guest_model->data)) == NULL)
- goto no_memory;
+ goto error;
}
out:
return ret;
-no_memory:
- virReportOOMError();
-
error:
ret = VIR_CPU_COMPARE_ERROR;
goto out;
if (v &&
(VIR_ALLOC(data_vendor) < 0 ||
x86DataAddCpuid(data_vendor, &v->cpuid) < 0)) {
- virReportOOMError();
goto error;
}
}
cpuidCall(&cpuid);
max = cpuid.eax - base;
- if (VIR_ALLOC_N(*set, max + 1) < 0) {
- virReportOOMError();
+ if (VIR_ALLOC_N(*set, max + 1) < 0)
return -1;
- }
for (i = 0; i <= max; i++) {
cpuid.function = base | i;
union cpuData *data;
int ret;
- if (VIR_ALLOC(data) < 0) {
- virReportOOMError();
+ if (VIR_ALLOC(data) < 0)
return NULL;
- }
if ((ret = cpuidSet(CPUX86_BASIC, &data->x86.basic)) < 0)
goto error;
goto error;
if (VIR_ALLOC(cpu) < 0)
- goto no_memory;
+ goto error;
cpu->arch = cpus[0]->arch;
cpu->type = VIR_CPU_TYPE_GUEST;
}
if (vendor && x86DataAddCpuid(base_model->data, &vendor->cpuid) < 0)
- goto no_memory;
+ goto error;
if (x86Decode(cpu, base_model->data, models, nmodels, NULL) < 0)
goto error;
return cpu;
-no_memory:
- virReportOOMError();
error:
x86ModelFree(model);
virCPUDefFree(cpu);