[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH rc6 26/30] target/avr: Update build system
From: |
Thomas Huth |
Subject: |
[PATCH rc6 26/30] target/avr: Update build system |
Date: |
Sun, 5 Jul 2020 16:03:11 +0200 |
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>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Aleksandar Markovic <aleksandar.m.mail@gmail.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Aleksandar Markovic <amarkovic@wavecomp.com>
Signed-off-by: Thomas Huth <huth@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
diff --git a/MAINTAINERS b/MAINTAINERS
index 0ab0a0e40b..79e7470f5c 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -982,6 +982,7 @@ AVR MCUs
M: Michael Rolnik <mrolnik@gmail.com>
R: Sarah Harris <S.E.Harris@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
--
2.26.2
- [PATCH rc6 12/30] target/avr: Add instruction translation - Branch Instructions, (continued)
- [PATCH rc6 12/30] target/avr: Add instruction translation - Branch Instructions, Thomas Huth, 2020/07/05
- [PATCH rc6 15/30] target/avr: Add instruction translation - MCU Control Instructions, Thomas Huth, 2020/07/05
- [PATCH rc6 16/30] target/avr: Add instruction translation - CPU main translation function, Thomas Huth, 2020/07/05
- [PATCH rc6 18/30] target/avr: Add support for disassembling via option '-d in_asm', Thomas Huth, 2020/07/05
- [PATCH rc6 19/30] hw/char: avr: Add limited support for USART peripheral, Thomas Huth, 2020/07/05
- [PATCH rc6 21/30] hw/misc: avr: Add limited support for power reduction device, Thomas Huth, 2020/07/05
- [PATCH rc6 20/30] hw/timer: avr: Add limited support for 16-bit timer peripheral, Thomas Huth, 2020/07/05
- [PATCH rc6 22/30] target/avr: Register AVR support with the rest of QEMU, Thomas Huth, 2020/07/05
- [PATCH rc6 26/30] target/avr: Update build system,
Thomas Huth <=
- [PATCH rc6 24/30] hw/avr: Add some ATmega microcontrollers, Thomas Huth, 2020/07/05
- [PATCH rc6 28/30] tests/boot-serial: Test some Arduino boards (AVR based), Thomas Huth, 2020/07/05
- [PATCH rc6 27/30] tests/machine-none: Add AVR support, Thomas Huth, 2020/07/05
- [PATCH rc6 23/30] hw/avr: Add support for loading ELF/raw binaries, Thomas Huth, 2020/07/05
- [PATCH rc6 25/30] hw/avr: Add limited support for some Arduino boards, Thomas Huth, 2020/07/05
- [PATCH rc6 29/30] tests/acceptance: Test the Arduino MEGA2560 board, Thomas Huth, 2020/07/05
- [PATCH rc6 30/30] target/avr: Add section into QEMU documentation, Thomas Huth, 2020/07/05
- Re: [PATCH rc6 00/30] target/avr merger, no-reply, 2020/07/05