On 7/5/20 4:03 PM, Thomas Huth wrote: > From: Michael Rolnik <mrol...@gmail.com> > > Make AVR support buildable. > > [AM: Remove word 'Atmel' from filenames and all elements of code] > Suggested-by: Aleksandar Markovic <aleksandar.m.m...@gmail.com> > Signed-off-by: Michael Rolnik <mrol...@gmail.com> > Signed-off-by: Richard Henderson <richard.hender...@linaro.org> > Signed-off-by: Aleksandar Markovic <aleksandar.m.m...@gmail.com> > Tested-by: Philippe Mathieu-Daudé <phi...@redhat.com> > Reviewed-by: Aleksandar Markovic <amarko...@wavecomp.com> > Signed-off-by: Thomas Huth <h...@tuxfamily.org> > --- > MAINTAINERS | 1 + > configure | 7 +++++++ > default-configs/avr-softmmu.mak | 5 +++++ > target/avr/Makefile.objs | 34 +++++++++++++++++++++++++++++++++ > 4 files changed, 47 insertions(+) > create mode 100644 default-configs/avr-softmmu.mak > create mode 100644 target/avr/Makefile.objs
IMO this belongs to patch #22 "target/avr: Register AVR support with the rest of QEMU". Trivial conflict in MAINTAINERS while squashing. > > diff --git a/MAINTAINERS b/MAINTAINERS > index 0ab0a0e40b..79e7470f5c 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -982,6 +982,7 @@ AVR MCUs > M: Michael Rolnik <mrol...@gmail.com> > R: Sarah Harris <s.e.har...@kent.ac.uk> > S: Maintained > +F: default-configs/avr-softmmu.mak > F: hw/avr/ > F: include/hw/char/avr_usart.h > F: hw/char/avr_usart.c > diff --git a/configure b/configure > index 8a65240d4a..e84b532bf5 100755 > --- a/configure > +++ b/configure > @@ -8105,6 +8105,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 arm-m-profile.xml" > ;; > + avr) > + gdb_xml_files="avr-cpu.xml" > + target_compiler=$cross_cc_avr > + ;; > cris) > ;; > hppa) > @@ -8349,6 +8353,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 0000000000..80218add98 > --- /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 0000000000..7523e0c6e2 > --- /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 >