From d3e35a1fe4562ee3f9f1af91ab02d62cf31b9488 Mon Sep 17 00:00:00 2001 From: Alexander Graf Date: Tue, 17 Dec 2013 19:42:32 +0000 Subject: [PATCH] target-arm: A64: add stubs for a64 specific helpers We will need helpers that only make sense with AArch64. Add helper-a64.{c,h} files as stubs that we can fill with these helpers in the following patches. Signed-off-by: Alexander Graf Signed-off-by: Peter Maydell Reviewed-by: Richard Henderson --- target-arm/Makefile.objs | 2 +- target-arm/helper-a64.c | 25 +++++++++++++++++++++++++ target-arm/helper-a64.h | 18 ++++++++++++++++++ target-arm/helper.h | 4 ++++ 4 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 target-arm/helper-a64.c create mode 100644 target-arm/helper-a64.h diff --git a/target-arm/Makefile.objs b/target-arm/Makefile.objs index 190499f068..dcd167e0d8 100644 --- a/target-arm/Makefile.objs +++ b/target-arm/Makefile.objs @@ -7,5 +7,5 @@ obj-$(call lnot,$(CONFIG_KVM)) += kvm-stub.o obj-y += translate.o op_helper.o helper.o cpu.o obj-y += neon_helper.o iwmmxt_helper.o obj-y += gdbstub.o -obj-$(TARGET_AARCH64) += cpu64.o translate-a64.o gdbstub64.o +obj-$(TARGET_AARCH64) += cpu64.o translate-a64.o helper-a64.o gdbstub64.o obj-y += crypto_helper.o diff --git a/target-arm/helper-a64.c b/target-arm/helper-a64.c new file mode 100644 index 0000000000..adb8428105 --- /dev/null +++ b/target-arm/helper-a64.c @@ -0,0 +1,25 @@ +/* + * AArch64 specific helpers + * + * Copyright (c) 2013 Alexander Graf + * + * 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 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 . + */ + +#include "cpu.h" +#include "exec/gdbstub.h" +#include "helper.h" +#include "qemu/host-utils.h" +#include "sysemu/sysemu.h" +#include "qemu/bitops.h" diff --git a/target-arm/helper-a64.h b/target-arm/helper-a64.h new file mode 100644 index 0000000000..dd283061dd --- /dev/null +++ b/target-arm/helper-a64.h @@ -0,0 +1,18 @@ +/* + * AArch64 specific helper definitions + * + * Copyright (c) 2013 Alexander Graf + * + * 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 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 . + */ diff --git a/target-arm/helper.h b/target-arm/helper.h index 496eb6511c..73d67dcc17 100644 --- a/target-arm/helper.h +++ b/target-arm/helper.h @@ -466,4 +466,8 @@ DEF_HELPER_3(neon_qzip32, void, env, i32, i32) DEF_HELPER_4(crypto_aese, void, env, i32, i32, i32) DEF_HELPER_4(crypto_aesmc, void, env, i32, i32, i32) +#ifdef TARGET_AARCH64 +#include "helper-a64.h" +#endif + #include "exec/def-helper.h"