From nobody Thu Dec 18 12:32:32 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.39 as permitted sender) client-ip=209.132.183.39; envelope-from=libvir-list-bounces@redhat.com; helo=mx6-phx2.redhat.com; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.39 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; Return-Path: Received: from mx6-phx2.redhat.com (mx6-phx2.redhat.com [209.132.183.39]) by mx.zohomail.com with SMTPS id 1487154003883612.8002084220415; Wed, 15 Feb 2017 02:20:03 -0800 (PST) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by mx6-phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v1FAGfOV047470; Wed, 15 Feb 2017 05:16:43 -0500 Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id v1FAFYpK003213 for ; Wed, 15 Feb 2017 05:15:34 -0500 Received: from virval.usersys.redhat.com (dhcp129-92.brq.redhat.com [10.34.129.92]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v1FAFXp2008394 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Wed, 15 Feb 2017 05:15:34 -0500 Received: by virval.usersys.redhat.com (Postfix, from userid 500) id 7F5F0105DB7; Wed, 15 Feb 2017 11:15:29 +0100 (CET) From: Jiri Denemark To: libvir-list@redhat.com Date: Wed, 15 Feb 2017 11:15:11 +0100 Message-Id: <4a9690b8c43fd384283ea3243faaa65c76acd9d7.1487152754.git.jdenemar@redhat.com> In-Reply-To: References: In-Reply-To: References: Mail-Followup-To: libvir-list@redhat.com X-Scanned-By: MIMEDefang 2.68 on 10.5.11.24 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH 17/33] cpu_x86: Make virCPUx86DataAddCPUID work with virCPUDataPtr X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Jiri Denemark --- src/cpu/cpu_x86.c | 57 ++++++++++++++++++++++++--------------= ---- src/cpu/cpu_x86.h | 2 +- src/libxl/libxl_capabilities.c | 2 +- src/qemu/qemu_monitor_json.c | 2 +- 4 files changed, 36 insertions(+), 27 deletions(-) diff --git a/src/cpu/cpu_x86.c b/src/cpu/cpu_x86.c index 3b540f99c..029a7d475 100644 --- a/src/cpu/cpu_x86.c +++ b/src/cpu/cpu_x86.c @@ -330,9 +330,9 @@ x86DataCopy(virCPUx86Data *dst, const virCPUx86Data *sr= c) } =20 =20 -int -virCPUx86DataAddCPUID(virCPUx86Data *data, - const virCPUx86CPUID *cpuid) +static int +virCPUx86DataAddCPUIDInt(virCPUx86Data *data, + const virCPUx86CPUID *cpuid) { virCPUx86CPUID *existing; =20 @@ -365,7 +365,7 @@ x86DataAdd(virCPUx86Data *data1, if (cpuid1) { x86cpuidSetBits(cpuid1, cpuid2); } else { - if (virCPUx86DataAddCPUID(data1, cpuid2) < 0) + if (virCPUx86DataAddCPUIDInt(data1, cpuid2) < 0) return -1; } } @@ -549,7 +549,7 @@ x86DataAddSignature(virCPUx86Data *data, { virCPUx86CPUID cpuid =3D { .eax_in =3D 0x1, .eax =3D signature }; =20 - return virCPUx86DataAddCPUID(data, &cpuid); + return virCPUx86DataAddCPUIDInt(data, &cpuid); } =20 =20 @@ -892,7 +892,7 @@ x86FeatureParse(xmlXPathContextPtr ctxt, i, feature->name); goto error; } - if (virCPUx86DataAddCPUID(&feature->data, &cpuid)) + if (virCPUx86DataAddCPUIDInt(&feature->data, &cpuid)) goto error; } =20 @@ -1446,7 +1446,7 @@ virCPUx86DataParse(xmlXPathContextPtr ctxt) _("failed to parse cpuid[%zu]"), i); goto error; } - if (virCPUx86DataAddCPUID(&cpuData->data.x86, &cpuid) < 0) + if (virCPUx86DataAddCPUID(cpuData, &cpuid) < 0) goto error; } =20 @@ -1605,8 +1605,8 @@ x86Compute(virCPUDefPtr host, goto error; =20 if (cpu->vendor && host_model->vendor && - virCPUx86DataAddCPUID(&guest_model->data, - &host_model->vendor->cpuid) < 0) + virCPUx86DataAddCPUIDInt(&guest_model->data, + &host_model->vendor->cpuid) < 0) goto error; =20 if (x86DataAddSignature(&guest_model->data, host_model->signature)= < 0) @@ -2013,7 +2013,7 @@ x86Encode(virArch arch, if (!(data_vendor =3D virCPUDataNew(arch))) goto error; =20 - if (v && virCPUx86DataAddCPUID(&data_vendor->data.x86, &v->cpuid) = < 0) + if (v && virCPUx86DataAddCPUID(data_vendor, &v->cpuid) < 0) goto error; } =20 @@ -2083,7 +2083,7 @@ cpuidCall(virCPUx86CPUID *cpuid) * Sub leaf n+1 is invalid if eax[4:0] in sub leaf n equals 0. */ static int -cpuidSetLeaf4(virCPUx86Data *data, +cpuidSetLeaf4(virCPUDataPtr data, virCPUx86CPUID *subLeaf0) { virCPUx86CPUID cpuid =3D *subLeaf0; @@ -2106,7 +2106,7 @@ cpuidSetLeaf4(virCPUx86Data *data, * Sub leaf n is invalid if n > eax in sub leaf 0. */ static int -cpuidSetLeaf7(virCPUx86Data *data, +cpuidSetLeaf7(virCPUDataPtr data, virCPUx86CPUID *subLeaf0) { virCPUx86CPUID cpuid =3D { .eax_in =3D 0x7 }; @@ -2133,7 +2133,7 @@ cpuidSetLeaf7(virCPUx86Data *data, * meaningful data even if it was (theoretically) considered invalid. */ static int -cpuidSetLeafB(virCPUx86Data *data, +cpuidSetLeafB(virCPUDataPtr data, virCPUx86CPUID *subLeaf0) { virCPUx86CPUID cpuid =3D *subLeaf0; @@ -2157,7 +2157,7 @@ cpuidSetLeafB(virCPUx86Data *data, * and edx[n-32] from sub leaf 1 is not set. */ static int -cpuidSetLeafD(virCPUx86Data *data, +cpuidSetLeafD(virCPUDataPtr data, virCPUx86CPUID *subLeaf0) { virCPUx86CPUID cpuid =3D { .eax_in =3D 0xd }; @@ -2204,7 +2204,7 @@ cpuidSetLeafD(virCPUx86Data *data, * 0x10: Sub leaf n is valid if ebx[n] (=3D res[ResID]) from sub leaf 0 is= set. */ static int -cpuidSetLeafResID(virCPUx86Data *data, +cpuidSetLeafResID(virCPUDataPtr data, virCPUx86CPUID *subLeaf0, uint32_t res) { @@ -2232,13 +2232,13 @@ cpuidSetLeafResID(virCPUx86Data *data, * Sub leaves n >=3D 2 are valid as long as eax[3:0] !=3D 0. */ static int -cpuidSetLeaf12(virCPUx86Data *data, +cpuidSetLeaf12(virCPUDataPtr data, virCPUx86CPUID *subLeaf0) { virCPUx86CPUID cpuid =3D { .eax_in =3D 0x7 }; virCPUx86CPUID *cpuid7; =20 - if (!(cpuid7 =3D x86DataCpuid(data, &cpuid)) || + if (!(cpuid7 =3D x86DataCpuid(&data->data.x86, &cpuid)) || !(cpuid7->ebx & (1 << 2))) return 0; =20 @@ -2268,7 +2268,7 @@ cpuidSetLeaf12(virCPUx86Data *data, * Sub leaf 0 reports the maximum supported sub leaf in eax. */ static int -cpuidSetLeaf14(virCPUx86Data *data, +cpuidSetLeaf14(virCPUDataPtr data, virCPUx86CPUID *subLeaf0) { virCPUx86CPUID cpuid =3D { .eax_in =3D 0x14 }; @@ -2293,7 +2293,7 @@ cpuidSetLeaf14(virCPUx86Data *data, * Sub leaf 0 reports the maximum supported sub leaf in eax. */ static int -cpuidSetLeaf17(virCPUx86Data *data, +cpuidSetLeaf17(virCPUDataPtr data, virCPUx86CPUID *subLeaf0) { virCPUx86CPUID cpuid =3D { .eax_in =3D 0x17 }; @@ -2316,7 +2316,7 @@ cpuidSetLeaf17(virCPUx86Data *data, =20 =20 static int -cpuidSet(uint32_t base, virCPUx86Data *data) +cpuidSet(uint32_t base, virCPUDataPtr data) { int rc; uint32_t max; @@ -2371,10 +2371,10 @@ x86NodeData(virArch arch) if (!(cpuData =3D virCPUDataNew(arch))) goto error; =20 - if (cpuidSet(CPUX86_BASIC, &cpuData->data.x86) < 0) + if (cpuidSet(CPUX86_BASIC, cpuData) < 0) goto error; =20 - if (cpuidSet(CPUX86_EXTENDED, &cpuData->data.x86) < 0) + if (cpuidSet(CPUX86_EXTENDED, cpuData) < 0) goto error; =20 return cpuData; @@ -2484,7 +2484,8 @@ x86Baseline(virCPUDefPtr *cpus, goto error; } =20 - if (vendor && virCPUx86DataAddCPUID(&base_model->data, &vendor->cpuid)= < 0) + if (vendor && + virCPUx86DataAddCPUIDInt(&base_model->data, &vendor->cpuid) < 0) goto error; =20 if (x86Decode(cpu, &base_model->data, models, nmodels, modelName, flag= s) < 0) @@ -2683,7 +2684,7 @@ virCPUx86Translate(virCPUDefPtr cpu, goto cleanup; =20 if (model->vendor && - virCPUx86DataAddCPUID(&model->data, &model->vendor->cpuid) < 0) + virCPUx86DataAddCPUIDInt(&model->data, &model->vendor->cpuid) < 0) goto cleanup; =20 if (x86DataAddSignature(&model->data, model->signature) < 0) @@ -2711,6 +2712,14 @@ virCPUx86Translate(virCPUDefPtr cpu, } =20 =20 +int +virCPUx86DataAddCPUID(virCPUDataPtr cpuData, + const virCPUx86CPUID *cpuid) +{ + return virCPUx86DataAddCPUIDInt(&cpuData->data.x86, cpuid); +} + + struct cpuArchDriver cpuDriverX86 =3D { .name =3D "x86", .arch =3D archs, diff --git a/src/cpu/cpu_x86.h b/src/cpu/cpu_x86.h index bcda0da95..79e78a007 100644 --- a/src/cpu/cpu_x86.h +++ b/src/cpu/cpu_x86.h @@ -29,7 +29,7 @@ =20 extern struct cpuArchDriver cpuDriverX86; =20 -int virCPUx86DataAddCPUID(virCPUx86Data *data, +int virCPUx86DataAddCPUID(virCPUDataPtr cpuData, const virCPUx86CPUID *cpuid); =20 #endif /* __VIR_CPU_X86_H__ */ diff --git a/src/libxl/libxl_capabilities.c b/src/libxl/libxl_capabilities.c index 117055cf2..839a2ee81 100644 --- a/src/libxl/libxl_capabilities.c +++ b/src/libxl/libxl_capabilities.c @@ -72,7 +72,7 @@ libxlCapsAddCPUID(virCPUDataPtr data, virCPUx86CPUID *cpu= id, ssize_t ncaps) for (i =3D 0; i < ncaps; i++) { virCPUx86CPUID *c =3D &cpuid[i]; =20 - if (virCPUx86DataAddCPUID(&data->data.x86, c) < 0) { + if (virCPUx86DataAddCPUID(data, c) < 0) { VIR_DEBUG("Failed to add CPUID(%x,%x)", c->eax_in, c->ecx_in); return -1; } diff --git a/src/qemu/qemu_monitor_json.c b/src/qemu/qemu_monitor_json.c index cfb7f50aa..d89dfb88d 100644 --- a/src/qemu/qemu_monitor_json.c +++ b/src/qemu/qemu_monitor_json.c @@ -6585,7 +6585,7 @@ qemuMonitorJSONParseCPUx86Features(virJSONValuePtr da= ta) for (i =3D 0; i < n; i++) { if (qemuMonitorJSONParseCPUx86FeatureWord(virJSONValueArrayGet(dat= a, i), &cpuid) < 0 || - virCPUx86DataAddCPUID(&cpudata->data.x86, &cpuid) < 0) + virCPUx86DataAddCPUID(cpudata, &cpuid) < 0) goto error; } =20 --=20 2.11.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list