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(a)redhat.com>
---
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(a)linaro.org>
- * Pranavkumar Sawargaonkar <pranavkumar(a)linaro.org>
- */
-
-#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(a)linaro.org>
- * Pravakumar Sawargaonkar <pranavkumar(a)linaro.org>
- */
-
-#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