On Friday, January 31, 2020, Aleksandar Markovic <
aleksandar.markovic@rt-rk.com> wrote:
> From: Michael Rolnik <mrolnik@gmail.com>
>
> Make AVR support buildable.
>
> [AM: Remove word 'Atmel' from filenames and all elements of code]
> Suggested-by: Aleksandar Markovic <aleksandar.m.mail@gmail.com>
>
> Signed-off-by: Michael Rolnik <mrolnik@gmail.com>
> Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> Reviewed-by: Aleksandar Markovic <amarkovic@wavecomp.com>
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> Signed-off-by: Aleksandar Markovic <aleksandar.m.mail@gmail.com>
> ---
> configure | 7 +++++++
> default-configs/avr-softmmu.mak | 5 +++++
> target/avr/Makefile.objs | 34 ++++++++++++++++++++++++++++++++++
> 3 files changed, 46 insertions(+)
> create mode 100644 default-configs/avr-softmmu.mak
> create mode 100644 target/avr/Makefile.objs
>
> diff --git a/configure b/configure
> index a72a5de..51f0b9e 100755
> --- a/configure
> +++ b/configure
> @@ -7640,6 +7640,10 @@ case "$target_name" in
> mttcg="yes"
> gdb_xml_files="aarch64-core.xml aarch64-fpu.xml arm-core.xml
> arm-vfp.xml arm-vfp3.xml arm-neon.xml"
> ;;
> + avr)
> + gdb_xml_files="avr-cpu.xml"
> + target_compiler=$cross_cc_avr
> + ;;
> cris)
> ;;
> hppa)
> @@ -7859,6 +7863,9 @@ for i in $ARCH $TARGET_BASE_ARCH ; do
> disas_config "ARM_A64"
> fi
> ;;
> + avr)
> + disas_config "AVR"
> + ;;
> cris)
> disas_config "CRIS"
> ;;
> diff --git a/default-configs/avr-softmmu.mak
> b/default-configs/avr-softmmu.mak
> new file mode 100644
> index 0000000..80218ad
> --- /dev/null
> +++ b/default-configs/avr-softmmu.mak
> @@ -0,0 +1,5 @@
> +# Default configuration for avr-softmmu
> +
> +# Boards:
> +#
> +CONFIG_ARDUINO=y
> diff --git a/target/avr/Makefile.objs b/target/avr/Makefile.objs
> new file mode 100644
> index 0000000..7523e0c
> --- /dev/null
> +++ b/target/avr/Makefile.objs
> @@ -0,0 +1,34 @@
> +#
> +# QEMU AVR CPU
> +#
> +# Copyright (c) 2019 Michael Rolnik
> +#
> +# 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/lgpl-2.1.html>
> +#
> +
> +DECODETREE = $(SRC_PATH)/scripts/decodetree.py
> +decode-y = $(SRC_PATH)/target/avr/insn.decode
> +
> +target/avr/decode_insn.inc.c: $(decode-y) $(DECODETREE)
> + $(call quiet-command, \
> + $(PYTHON) $(DECODETREE) -o $@ --decode decode_insn --insnwidth
> 16 $<, \
> + "GEN", $(TARGET_DIR)$@)
> +
> +target/avr/translate.o: target/avr/decode_insn.inc.c
> +
> +obj-y += translate.o cpu.o helper.o
> +obj-y += gdbstub.o
> +obj-y += disas.o
> +obj-$(CONFIG_SOFTMMU) += machine.o
The last line should not contain "-$(CONFIG_SOFTMMU)", since there is only
softmmu case for avr. I will remove it in rc5, unless somebody tell me not
to do so.
Aleksandar
> --
> 2.7.4
>
>