This is a merger of Michael's v41 of the base avr architecture, and v4 of Phil's arduino target boards. Call this release, or merge, candidate 1.
Has all commentary been addressed? How much more, if anything, does anyone require before allowing normal development in tree? r~ Michael Rolnik (20): target/avr: Add outward facing interfaces and core CPU logic target/avr: Add instruction helpers target/avr: Add instruction translation - Registers definition target/avr: Add instruction translation - Arithmetic and Logic Instructions target/avr: Add instruction translation - Branch Instructions target/avr: Add instruction translation - Data Transfer Instructions target/avr: Add instruction translation - Bit and Bit-test Instructions target/avr: Add instruction translation - MCU Control Instructions target/avr: Add instruction translation - CPU main translation function target/avr: Add instruction disassembly function hw/char: Add limited support for Atmel USART peripheral hw/timer: Add limited support for Atmel 16 bit timer peripheral hw/misc: Add Atmel power device target/avr: Add section about AVR into QEMU documentation target/avr: Register AVR support with the rest of QEMU target/avr: Add machine none test target/avr: Update MAINTAINERS file target/avr: Update build system tests/boot-serial-test: Test some Arduino boards (AVR based) tests/acceptance: Test the Arduino MEGA2560 board Philippe Mathieu-Daudé (4): hw/avr: Introduce ATMEL_ATMEGA_MCU config hw/avr: Add some ATmega microcontrollers hw/avr: Add some Arduino boards .travis.yml: Run the AVR acceptance tests qemu-doc.texi | 51 + configure | 7 + default-configs/avr-softmmu.mak | 5 + qapi/machine.json | 3 +- hw/avr/atmel_atmega.h | 48 + include/disas/dis-asm.h | 19 + include/hw/char/atmel_usart.h | 93 + include/hw/misc/atmel_power.h | 46 + include/hw/timer/atmel_timer16.h | 94 + include/sysemu/arch_init.h | 1 + target/avr/cpu-param.h | 37 + target/avr/cpu-qom.h | 54 + target/avr/cpu.h | 259 +++ target/avr/helper.h | 29 + arch_init.c | 2 + hw/avr/arduino.c | 175 ++ hw/avr/atmel_atmega.c | 464 +++++ hw/char/atmel_usart.c | 320 ++++ hw/misc/atmel_power.c | 112 ++ hw/timer/atmel_timer16.c | 602 ++++++ target/avr/cpu.c | 826 ++++++++ target/avr/disas.c | 246 +++ target/avr/gdbstub.c | 84 + target/avr/helper.c | 347 ++++ target/avr/machine.c | 121 ++ target/avr/translate.c | 2997 ++++++++++++++++++++++++++++++ tests/qtest/boot-serial-test.c | 11 + tests/qtest/machine-none-test.c | 1 + .travis.yml | 2 +- MAINTAINERS | 26 + gdb-xml/avr-cpu.xml | 49 + hw/avr/Kconfig | 9 + hw/avr/Makefile.objs | 2 + hw/char/Kconfig | 3 + hw/char/Makefile.objs | 1 + hw/misc/Kconfig | 3 + hw/misc/Makefile.objs | 2 + hw/timer/Kconfig | 3 + hw/timer/Makefile.objs | 2 + target/avr/Makefile.objs | 34 + target/avr/insn.decode | 182 ++ tests/acceptance/machine_avr6.py | 50 + tests/qtest/Makefile.include | 2 + 43 files changed, 7422 insertions(+), 2 deletions(-) create mode 100644 default-configs/avr-softmmu.mak create mode 100644 hw/avr/atmel_atmega.h create mode 100644 include/hw/char/atmel_usart.h create mode 100644 include/hw/misc/atmel_power.h create mode 100644 include/hw/timer/atmel_timer16.h create mode 100644 target/avr/cpu-param.h create mode 100644 target/avr/cpu-qom.h create mode 100644 target/avr/cpu.h create mode 100644 target/avr/helper.h create mode 100644 hw/avr/arduino.c create mode 100644 hw/avr/atmel_atmega.c create mode 100644 hw/char/atmel_usart.c create mode 100644 hw/misc/atmel_power.c create mode 100644 hw/timer/atmel_timer16.c create mode 100644 target/avr/cpu.c create mode 100644 target/avr/disas.c create mode 100644 target/avr/gdbstub.c create mode 100644 target/avr/helper.c create mode 100644 target/avr/machine.c create mode 100644 target/avr/translate.c create mode 100644 gdb-xml/avr-cpu.xml create mode 100644 hw/avr/Kconfig create mode 100644 hw/avr/Makefile.objs create mode 100644 target/avr/Makefile.objs create mode 100644 target/avr/insn.decode create mode 100644 tests/acceptance/machine_avr6.py -- 2.20.1