Both ARM and AArch64 drivers are exactly the same (modulo function names). Let's use just one driver for all ARM architectures. Signed-off-by: Jiri Denemark <jdenemar@xxxxxxxxxx> --- src/Makefile.am | 1 - src/cpu/cpu.c | 2 - src/cpu/cpu_aarch64.c | 133 -------------------------------------------------- src/cpu/cpu_aarch64.h | 31 ------------ src/cpu/cpu_arm.c | 37 +++++++------- 5 files changed, 20 insertions(+), 184 deletions(-) delete mode 100644 src/cpu/cpu_aarch64.c delete mode 100644 src/cpu/cpu_aarch64.h diff --git a/src/Makefile.am b/src/Makefile.am index 9f8b638..b91ff74 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1080,7 +1080,6 @@ CPU_SOURCES = \ cpu/cpu_x86.h cpu/cpu_x86.c cpu/cpu_x86_data.h \ cpu/cpu_s390.h cpu/cpu_s390.c \ cpu/cpu_arm.h cpu/cpu_arm.c \ - cpu/cpu_aarch64.h cpu/cpu_aarch64.c \ cpu/cpu_ppc64.h cpu/cpu_ppc64.c \ cpu/cpu_ppc64_data.h \ cpu/cpu_map.h cpu/cpu_map.c diff --git a/src/cpu/cpu.c b/src/cpu/cpu.c index 7decc74..62a420f 100644 --- a/src/cpu/cpu.c +++ b/src/cpu/cpu.c @@ -32,7 +32,6 @@ #include "cpu_ppc64.h" #include "cpu_s390.h" #include "cpu_arm.h" -#include "cpu_aarch64.h" #include "cpu_generic.h" #include "util/virstring.h" @@ -47,7 +46,6 @@ static struct cpuArchDriver *drivers[] = { &cpuDriverPPC64, &cpuDriverS390, &cpuDriverArm, - &cpuDriverAARCH64, /* generic driver must always be the last one */ &cpuDriverGeneric }; diff --git a/src/cpu/cpu_aarch64.c b/src/cpu/cpu_aarch64.c deleted file mode 100644 index e6d5f53..0000000 --- a/src/cpu/cpu_aarch64.c +++ /dev/null @@ -1,133 +0,0 @@ -/* - * cpu_aarch64.c: CPU driver for AArch64 CPUs - * - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. If not, see - * <http://www.gnu.org/licenses/>. - * - * Authors: - * Anup Patel <anup.patel@xxxxxxxxxx> - * Pranavkumar Sawargaonkar <pranavkumar@xxxxxxxxxx> - */ - -#include <config.h> - -#include "viralloc.h" -#include "cpu.h" -#include "virstring.h" - -#define VIR_FROM_THIS VIR_FROM_CPU - -static const virArch archs[] = { VIR_ARCH_AARCH64 }; - -static virCPUDataPtr -AArch64NodeData(virArch arch) -{ - virCPUDataPtr data; - - if (VIR_ALLOC(data) < 0) - return NULL; - - data->arch = arch; - - return data; -} - -static int -AArch64Decode(virCPUDefPtr cpu, - const virCPUData *data ATTRIBUTE_UNUSED, - const char **models ATTRIBUTE_UNUSED, - unsigned int nmodels ATTRIBUTE_UNUSED, - const char *preferred ATTRIBUTE_UNUSED, - unsigned int flags) -{ - virCheckFlags(VIR_CONNECT_BASELINE_CPU_EXPAND_FEATURES, -1); - - if (cpu->model == NULL && - VIR_STRDUP(cpu->model, "host") < 0) - return -1; - - return 0; -} - -static void -AArch64DataFree(virCPUDataPtr data) -{ - VIR_FREE(data); -} - -static int -AArch64Update(virCPUDefPtr guest, - const virCPUDef *host) -{ - guest->match = VIR_CPU_MATCH_EXACT; - virCPUDefFreeModel(guest); - return virCPUDefCopyModel(guest, host, true); -} - -static virCPUCompareResult -AArch64GuestData(virCPUDefPtr host ATTRIBUTE_UNUSED, - virCPUDefPtr guest ATTRIBUTE_UNUSED, - virCPUDataPtr *data ATTRIBUTE_UNUSED, - char **message ATTRIBUTE_UNUSED) -{ - return VIR_CPU_COMPARE_IDENTICAL; -} - -static virCPUDefPtr -AArch64Baseline(virCPUDefPtr *cpus, - unsigned int ncpus ATTRIBUTE_UNUSED, - const char **models ATTRIBUTE_UNUSED, - unsigned int nmodels ATTRIBUTE_UNUSED, - unsigned int flags) -{ - virCPUDefPtr cpu = NULL; - - virCheckFlags(VIR_CONNECT_BASELINE_CPU_EXPAND_FEATURES | - VIR_CONNECT_BASELINE_CPU_MIGRATABLE, NULL); - - if (VIR_ALLOC(cpu) < 0 || - VIR_STRDUP(cpu->model, cpus[0]->model) < 0) { - virCPUDefFree(cpu); - return NULL; - } - - cpu->type = VIR_CPU_TYPE_GUEST; - cpu->match = VIR_CPU_MATCH_EXACT; - - return cpu; -} - -static virCPUCompareResult -AArch64Compare(virCPUDefPtr host ATTRIBUTE_UNUSED, - virCPUDefPtr cpu ATTRIBUTE_UNUSED, - bool failIncompatible ATTRIBUTE_UNUSED) -{ - return VIR_CPU_COMPARE_IDENTICAL; -} - -struct cpuArchDriver cpuDriverAARCH64 = { - .name = "aarch64", - .arch = archs, - .narch = ARRAY_CARDINALITY(archs), - .compare = AArch64Compare, - .decode = AArch64Decode, - .encode = NULL, - .free = AArch64DataFree, - .nodeData = AArch64NodeData, - .guestData = AArch64GuestData, - .baseline = AArch64Baseline, - .update = AArch64Update, - .hasFeature = NULL, -}; diff --git a/src/cpu/cpu_aarch64.h b/src/cpu/cpu_aarch64.h deleted file mode 100644 index 8e48368..0000000 --- a/src/cpu/cpu_aarch64.h +++ /dev/null @@ -1,31 +0,0 @@ -/* - * cpu_aarch64.h: CPU driver for AArch64 CPUs - * - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. If not, see - * <http://www.gnu.org/licenses/>. - * - * Authors: - * Anup Patel <anup.patel@xxxxxxxxxx> - * Pravakumar Sawargaonkar <pranavkumar@xxxxxxxxxx> - */ - -#ifndef __VIR_CPU_AARCH64_H__ -# define __VIR_CPU_AARCH64_H__ - -# include "cpu.h" - -extern struct cpuArchDriver cpuDriverAARCH64; - -#endif /* __VIR_CPU_AARCH64_H__ */ diff --git a/src/cpu/cpu_arm.c b/src/cpu/cpu_arm.c index 0403a8b..6090253 100644 --- a/src/cpu/cpu_arm.c +++ b/src/cpu/cpu_arm.c @@ -30,12 +30,15 @@ #define VIR_FROM_THIS VIR_FROM_CPU -static const virArch archs[] = {VIR_ARCH_ARMV6L, - VIR_ARCH_ARMV7B, - VIR_ARCH_ARMV7L}; +static const virArch archs[] = { + VIR_ARCH_ARMV6L, + VIR_ARCH_ARMV7B, + VIR_ARCH_ARMV7L, + VIR_ARCH_AARCH64, +}; static virCPUDataPtr -ArmNodeData(virArch arch) +armNodeData(virArch arch) { virCPUDataPtr data; @@ -48,7 +51,7 @@ ArmNodeData(virArch arch) } static int -ArmDecode(virCPUDefPtr cpu, +armDecode(virCPUDefPtr cpu, const virCPUData *data ATTRIBUTE_UNUSED, const char **models ATTRIBUTE_UNUSED, unsigned int nmodels ATTRIBUTE_UNUSED, @@ -65,13 +68,13 @@ ArmDecode(virCPUDefPtr cpu, } static void -ArmDataFree(virCPUDataPtr data) +armDataFree(virCPUDataPtr data) { VIR_FREE(data); } static int -ArmUpdate(virCPUDefPtr guest, +armUpdate(virCPUDefPtr guest, const virCPUDef *host) { guest->match = VIR_CPU_MATCH_EXACT; @@ -80,7 +83,7 @@ ArmUpdate(virCPUDefPtr guest, } static virCPUCompareResult -ArmGuestData(virCPUDefPtr host ATTRIBUTE_UNUSED, +armGuestData(virCPUDefPtr host ATTRIBUTE_UNUSED, virCPUDefPtr guest ATTRIBUTE_UNUSED, virCPUDataPtr *data ATTRIBUTE_UNUSED, char **message ATTRIBUTE_UNUSED) @@ -89,7 +92,7 @@ ArmGuestData(virCPUDefPtr host ATTRIBUTE_UNUSED, } static virCPUDefPtr -ArmBaseline(virCPUDefPtr *cpus, +armBaseline(virCPUDefPtr *cpus, unsigned int ncpus ATTRIBUTE_UNUSED, const char **models ATTRIBUTE_UNUSED, unsigned int nmodels ATTRIBUTE_UNUSED, @@ -113,7 +116,7 @@ ArmBaseline(virCPUDefPtr *cpus, } static virCPUCompareResult -ArmCompare(virCPUDefPtr host ATTRIBUTE_UNUSED, +armCompare(virCPUDefPtr host ATTRIBUTE_UNUSED, virCPUDefPtr cpu ATTRIBUTE_UNUSED, bool failMessages ATTRIBUTE_UNUSED) { @@ -124,13 +127,13 @@ struct cpuArchDriver cpuDriverArm = { .name = "arm", .arch = archs, .narch = ARRAY_CARDINALITY(archs), - .compare = ArmCompare, - .decode = ArmDecode, + .compare = armCompare, + .decode = armDecode, .encode = NULL, - .free = ArmDataFree, - .nodeData = ArmNodeData, - .guestData = ArmGuestData, - .baseline = ArmBaseline, - .update = ArmUpdate, + .free = armDataFree, + .nodeData = armNodeData, + .guestData = armGuestData, + .baseline = armBaseline, + .update = armUpdate, .hasFeature = NULL, }; -- 2.9.0 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list