On Sat, Jan 18, 2020 at 8:21 PM Michael Rolnik <mrol...@gmail.com> wrote: > > This series of patches adds 8bit AVR cores to QEMU. > All instruction, except BREAK/DES/SPM/SPMX, are implemented. Not fully tested > yet. > However I was able to execute simple code with functions. e.g fibonacci > calculation. > This series of patches include a non real, sample board. > No fuses support yet. PC is set to 0 at reset. > [...] > Michael Rolnik (21): > 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/avr: Add limited support for USART peripheral > hw/avr: Add limited support for 16 bit timer peripheral > hw/avr: Add dummy mask device > hw/avr: Add example board configuration > 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 build system > target/avr: Add boot serial test > target/avr: Add Avocado test > target/avr: Update MAINTAINERS file > > qemu-doc.texi | 51 + > configure | 7 + > default-configs/avr-softmmu.mak | 5 + > qapi/machine.json | 3 +- > include/disas/dis-asm.h | 19 + > include/elf.h | 2 + > include/hw/char/avr_usart.h | 93 + > include/hw/elf_ops.h | 6 +- > include/hw/loader.h | 6 +- > include/hw/misc/avr_mask.h | 47 + > include/hw/timer/avr_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/sample.c | 295 +++ > hw/char/avr_usart.c | 320 ++++ > hw/core/loader.c | 15 +- > hw/misc/avr_mask.c | 112 ++ > hw/riscv/boot.c | 2 +- > hw/timer/avr_timer16.c | 602 ++++++ > target/avr/cpu.c | 826 ++++++++ > target/avr/disas.c | 245 +++ > 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 | 10 + > tests/qtest/machine-none-test.c | 1 + > MAINTAINERS | 21 + > gdb-xml/avr-cpu.xml | 49 + > hw/Kconfig | 1 + > hw/avr/Kconfig | 6 + > hw/avr/Makefile.objs | 1 + > 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 | 183 ++ > tests/acceptance/machine_avr6.py | 53 + > tests/qtest/Makefile.include | 2 + > 46 files changed, 7044 insertions(+), 12 deletions(-)
Series: Tested-by: Philippe Mathieu-Daudé <f4...@amsat.org>