Message ID | 20200124005131.16276-1-f4bug@amsat.org |
---|---|
Headers | show |
Series | target/avr merger | expand |
On Fri, Jan 24, 2020 at 1:51 AM Philippe Mathieu-Daudé <f4bug@amsat.org> wrote: > > This is the AVR port from Michael release (merge) candidate 2. > > Since v1 [1]: > - Addressed Thomas comments > - Fixed a non-critical bug in ATmega (incorrect SRAM base address) > - Added ELF parsing requested by Aleksandar > - Dropped default machine (as with the ARM port) > > Change since rc1: > > $ git backport-diff -u avr-rc1 -r origin/master.. > Key: > [----] : patches are identical > [####] : number of functional differences between upstream/downstream patch > [down] : patch is downstream-only > The flags [FC] indicate (F)unctional and (C)ontextual differences, respectively > > 001/25:[----] [--] 'target/avr: Add outward facing interfaces and core CPU logic' > 002/25:[----] [--] 'target/avr: Add instruction helpers' > 003/25:[----] [--] 'target/avr: Add instruction translation - Registers definition' > 004/25:[----] [--] 'target/avr: Add instruction translation - Arithmetic and Logic Instructions' > 005/25:[----] [--] 'target/avr: Add instruction translation - Branch Instructions' > 006/25:[----] [--] 'target/avr: Add instruction translation - Data Transfer Instructions' > 007/25:[----] [--] 'target/avr: Add instruction translation - Bit and Bit-test Instructions' > 008/25:[----] [--] 'target/avr: Add instruction translation - MCU Control Instructions' > 009/25:[----] [--] 'target/avr: Add instruction translation - CPU main translation function' > 010/25:[----] [--] 'target/avr: Add instruction disassembly function' > 011/25:[----] [--] 'hw/char: Add limited support for Atmel USART peripheral' > 012/25:[0045] [FC] 'hw/timer: Add limited support for Atmel 16 bit timer peripheral' > 013/25:[----] [--] 'hw/misc: Add Atmel power device' > 014/25:[0024] [FC] 'target/avr: Add section about AVR into QEMU documentation' > 015/25:[----] [--] 'target/avr: Register AVR support with the rest of QEMU' > 016/25:[----] [--] 'target/avr: Add machine none test' > 017/25:[0002] [FC] 'target/avr: Update MAINTAINERS file' > 018/25:[down] 'hw/core/loader: Let load_elf populate the processor-specific flags' > 019/25:[down] 'hw/avr: Add helper to load raw/ELF firmware binaries' > 020/25:[0015] [FC] 'hw/avr: Add some ATmega microcontrollers' > 021/25:[0040] [FC] 'hw/avr: Add some Arduino boards' Patchew can be used to quickly visualize the few changes: https://patchew.org/QEMU/20200123000307.11541-1-richard.henderson@linaro.org/diff/20200124005131.16276-1-f4bug@amsat.org/ > 022/25:[----] [--] 'target/avr: Update build system' > 023/25:[----] [--] 'tests/boot-serial-test: Test some Arduino boards (AVR based)' > 024/25:[----] [--] 'tests/acceptance: Test the Arduino MEGA2560 board' > 025/25:[----] [--] '.travis.yml: Run the AVR acceptance tests' > > Repo: https://gitlab.com/philmd/qemu/commits/avr-rc2 > > [1] https://www.mail-archive.com/qemu-devel@nongnu.org/msg672926.html > Supersedes: <20200123000307.11541-1-richard.henderson@linaro.org> > > 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é (5): > hw/core/loader: Let load_elf populate the processor-specific flags > hw/avr: Add helper to load raw/ELF firmware binaries > 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 + > hw/avr/boot.h | 33 + > include/disas/dis-asm.h | 19 + > include/elf.h | 2 + > include/hw/char/atmel_usart.h | 93 + > include/hw/elf_ops.h | 6 +- > include/hw/loader.h | 6 +- > 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 | 151 ++ > hw/avr/atmel_atmega.c | 470 +++++ > hw/avr/boot.c | 74 + > hw/char/atmel_usart.c | 320 ++++ > hw/core/loader.c | 15 +- > hw/misc/atmel_power.c | 112 ++ > hw/riscv/boot.c | 2 +- > hw/timer/atmel_timer16.c | 605 ++++++ > 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 | 30 + > gdb-xml/avr-cpu.xml | 49 + > hw/avr/Kconfig | 9 + > hw/avr/Makefile.objs | 3 + > 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 + > 50 files changed, 7539 insertions(+), 13 deletions(-) > create mode 100644 default-configs/avr-softmmu.mak > create mode 100644 hw/avr/atmel_atmega.h > create mode 100644 hw/avr/boot.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/avr/boot.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.21.1 >
On 24/01/2020 01.51, Philippe Mathieu-Daudé wrote: > This is the AVR port from Michael release (merge) candidate 2. > > Since v1 [1]: > - Addressed Thomas comments > - Fixed a non-critical bug in ATmega (incorrect SRAM base address) > - Added ELF parsing requested by Aleksandar > - Dropped default machine (as with the ARM port) If you don't have a default machine, I'd expect to see a change to tests/qemu-iotests/check in the patchset. Please make sure that "make check" (i.e. "make check-block" in this case) continues to work if you run "configure" just with this single architecture (--target-list=avr-softmmu). Thanks, Thomas
Tested-by: Michael Rolnik <mrolnik@gmail.com> The only thing I want to change is instead of -kernel put -bios in qemu-doc.texi file. Should I send a new series? On Fri, Jan 24, 2020 at 2:51 AM Philippe Mathieu-Daudé <f4bug@amsat.org> wrote: > This is the AVR port from Michael release (merge) candidate 2. > > Since v1 [1]: > - Addressed Thomas comments > - Fixed a non-critical bug in ATmega (incorrect SRAM base address) > - Added ELF parsing requested by Aleksandar > - Dropped default machine (as with the ARM port) > > Change since rc1: > > $ git backport-diff -u avr-rc1 -r origin/master.. > Key: > [----] : patches are identical > [####] : number of functional differences between upstream/downstream patch > [down] : patch is downstream-only > The flags [FC] indicate (F)unctional and (C)ontextual differences, > respectively > > 001/25:[----] [--] 'target/avr: Add outward facing interfaces and core CPU > logic' > 002/25:[----] [--] 'target/avr: Add instruction helpers' > 003/25:[----] [--] 'target/avr: Add instruction translation - Registers > definition' > 004/25:[----] [--] 'target/avr: Add instruction translation - Arithmetic > and Logic Instructions' > 005/25:[----] [--] 'target/avr: Add instruction translation - Branch > Instructions' > 006/25:[----] [--] 'target/avr: Add instruction translation - Data > Transfer Instructions' > 007/25:[----] [--] 'target/avr: Add instruction translation - Bit and > Bit-test Instructions' > 008/25:[----] [--] 'target/avr: Add instruction translation - MCU Control > Instructions' > 009/25:[----] [--] 'target/avr: Add instruction translation - CPU main > translation function' > 010/25:[----] [--] 'target/avr: Add instruction disassembly function' > 011/25:[----] [--] 'hw/char: Add limited support for Atmel USART > peripheral' > 012/25:[0045] [FC] 'hw/timer: Add limited support for Atmel 16 bit timer > peripheral' > 013/25:[----] [--] 'hw/misc: Add Atmel power device' > 014/25:[0024] [FC] 'target/avr: Add section about AVR into QEMU > documentation' > 015/25:[----] [--] 'target/avr: Register AVR support with the rest of QEMU' > 016/25:[----] [--] 'target/avr: Add machine none test' > 017/25:[0002] [FC] 'target/avr: Update MAINTAINERS file' > 018/25:[down] 'hw/core/loader: Let load_elf populate the > processor-specific flags' > 019/25:[down] 'hw/avr: Add helper to load raw/ELF firmware binaries' > 020/25:[0015] [FC] 'hw/avr: Add some ATmega microcontrollers' > 021/25:[0040] [FC] 'hw/avr: Add some Arduino boards' > 022/25:[----] [--] 'target/avr: Update build system' > 023/25:[----] [--] 'tests/boot-serial-test: Test some Arduino boards (AVR > based)' > 024/25:[----] [--] 'tests/acceptance: Test the Arduino MEGA2560 board' > 025/25:[----] [--] '.travis.yml: Run the AVR acceptance tests' > > Repo: https://gitlab.com/philmd/qemu/commits/avr-rc2 > > [1] https://www.mail-archive.com/qemu-devel@nongnu.org/msg672926.html > Supersedes: <20200123000307.11541-1-richard.henderson@linaro.org> > > 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é (5): > hw/core/loader: Let load_elf populate the processor-specific flags > hw/avr: Add helper to load raw/ELF firmware binaries > 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 + > hw/avr/boot.h | 33 + > include/disas/dis-asm.h | 19 + > include/elf.h | 2 + > include/hw/char/atmel_usart.h | 93 + > include/hw/elf_ops.h | 6 +- > include/hw/loader.h | 6 +- > 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 | 151 ++ > hw/avr/atmel_atmega.c | 470 +++++ > hw/avr/boot.c | 74 + > hw/char/atmel_usart.c | 320 ++++ > hw/core/loader.c | 15 +- > hw/misc/atmel_power.c | 112 ++ > hw/riscv/boot.c | 2 +- > hw/timer/atmel_timer16.c | 605 ++++++ > 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 | 30 + > gdb-xml/avr-cpu.xml | 49 + > hw/avr/Kconfig | 9 + > hw/avr/Makefile.objs | 3 + > 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 + > 50 files changed, 7539 insertions(+), 13 deletions(-) > create mode 100644 default-configs/avr-softmmu.mak > create mode 100644 hw/avr/atmel_atmega.h > create mode 100644 hw/avr/boot.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/avr/boot.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.21.1 > >
On 1/24/20 12:41 PM, Michael Rolnik wrote: > Tested-by: Michael Rolnik <mrolnik@gmail.com <mailto:mrolnik@gmail.com>> Thanks a lot! > The only thing I want to change is instead of -kernel put -bios in > qemu-doc.texi file. Should I send a new series? Please do NOT :) Richard can do the trivial fixup directly. > On Fri, Jan 24, 2020 at 2:51 AM Philippe Mathieu-Daudé <f4bug@amsat.org > <mailto:f4bug@amsat.org>> wrote: > > This is the AVR port from Michael release (merge) candidate 2. > > Since v1 [1]: > - Addressed Thomas comments > - Fixed a non-critical bug in ATmega (incorrect SRAM base address) > - Added ELF parsing requested by Aleksandar > - Dropped default machine (as with the ARM port) > > Change since rc1: > > $ git backport-diff -u avr-rc1 -r origin/master.. > Key: > [----] : patches are identical > [####] : number of functional differences between > upstream/downstream patch > [down] : patch is downstream-only > The flags [FC] indicate (F)unctional and (C)ontextual differences, > respectively > > 001/25:[----] [--] 'target/avr: Add outward facing interfaces and > core CPU logic' > 002/25:[----] [--] 'target/avr: Add instruction helpers' > 003/25:[----] [--] 'target/avr: Add instruction translation - > Registers definition' > 004/25:[----] [--] 'target/avr: Add instruction translation - > Arithmetic and Logic Instructions' > 005/25:[----] [--] 'target/avr: Add instruction translation - Branch > Instructions' > 006/25:[----] [--] 'target/avr: Add instruction translation - Data > Transfer Instructions' > 007/25:[----] [--] 'target/avr: Add instruction translation - Bit > and Bit-test Instructions' > 008/25:[----] [--] 'target/avr: Add instruction translation - MCU > Control Instructions' > 009/25:[----] [--] 'target/avr: Add instruction translation - CPU > main translation function' > 010/25:[----] [--] 'target/avr: Add instruction disassembly function' > 011/25:[----] [--] 'hw/char: Add limited support for Atmel USART > peripheral' > 012/25:[0045] [FC] 'hw/timer: Add limited support for Atmel 16 bit > timer peripheral' > 013/25:[----] [--] 'hw/misc: Add Atmel power device' > 014/25:[0024] [FC] 'target/avr: Add section about AVR into QEMU > documentation' > 015/25:[----] [--] 'target/avr: Register AVR support with the rest > of QEMU' > 016/25:[----] [--] 'target/avr: Add machine none test' > 017/25:[0002] [FC] 'target/avr: Update MAINTAINERS file' > 018/25:[down] 'hw/core/loader: Let load_elf populate the > processor-specific flags' > 019/25:[down] 'hw/avr: Add helper to load raw/ELF firmware > binaries' > 020/25:[0015] [FC] 'hw/avr: Add some ATmega microcontrollers' > 021/25:[0040] [FC] 'hw/avr: Add some Arduino boards' > 022/25:[----] [--] 'target/avr: Update build system' > 023/25:[----] [--] 'tests/boot-serial-test: Test some Arduino boards > (AVR based)' > 024/25:[----] [--] 'tests/acceptance: Test the Arduino MEGA2560 board' > 025/25:[----] [--] '.travis.yml: Run the AVR acceptance tests' > > Repo: https://gitlab.com/philmd/qemu/commits/avr-rc2 > > [1] https://www.mail-archive.com/qemu-devel@nongnu.org/msg672926.html > Supersedes: <20200123000307.11541-1-richard.henderson@linaro.org > <mailto:20200123000307.11541-1-richard.henderson@linaro.org>> > > 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é (5): > hw/core/loader: Let load_elf populate the processor-specific flags > hw/avr: Add helper to load raw/ELF firmware binaries > 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 + > hw/avr/boot.h | 33 + > include/disas/dis-asm.h | 19 + > include/elf.h | 2 + > include/hw/char/atmel_usart.h | 93 + > include/hw/elf_ops.h | 6 +- > include/hw/loader.h | 6 +- > 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 | 151 ++ > hw/avr/atmel_atmega.c | 470 +++++ > hw/avr/boot.c | 74 + > hw/char/atmel_usart.c | 320 ++++ > hw/core/loader.c | 15 +- > hw/misc/atmel_power.c | 112 ++ > hw/riscv/boot.c | 2 +- > hw/timer/atmel_timer16.c | 605 ++++++ > 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 | 30 + > gdb-xml/avr-cpu.xml | 49 + > hw/avr/Kconfig | 9 + > hw/avr/Makefile.objs | 3 + > 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 + > 50 files changed, 7539 insertions(+), 13 deletions(-) > create mode 100644 default-configs/avr-softmmu.mak > create mode 100644 hw/avr/atmel_atmega.h > create mode 100644 hw/avr/boot.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/avr/boot.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.21.1 > > > > -- > Best Regards, > Michael Rolnik
Just one patch attached. Thanks. On Fri, Jan 24, 2020 at 2:49 PM Philippe Mathieu-Daudé <philmd@redhat.com> wrote: > On 1/24/20 12:41 PM, Michael Rolnik wrote: > > Tested-by: Michael Rolnik <mrolnik@gmail.com <mailto:mrolnik@gmail.com>> > > Thanks a lot! > > > The only thing I want to change is instead of -kernel put -bios in > > qemu-doc.texi file. Should I send a new series? > > Please do NOT :) > > Richard can do the trivial fixup directly. > > > On Fri, Jan 24, 2020 at 2:51 AM Philippe Mathieu-Daudé <f4bug@amsat.org > > <mailto:f4bug@amsat.org>> wrote: > > > > This is the AVR port from Michael release (merge) candidate 2. > > > > Since v1 [1]: > > - Addressed Thomas comments > > - Fixed a non-critical bug in ATmega (incorrect SRAM base address) > > - Added ELF parsing requested by Aleksandar > > - Dropped default machine (as with the ARM port) > > > > Change since rc1: > > > > $ git backport-diff -u avr-rc1 -r origin/master.. > > Key: > > [----] : patches are identical > > [####] : number of functional differences between > > upstream/downstream patch > > [down] : patch is downstream-only > > The flags [FC] indicate (F)unctional and (C)ontextual differences, > > respectively > > > > 001/25:[----] [--] 'target/avr: Add outward facing interfaces and > > core CPU logic' > > 002/25:[----] [--] 'target/avr: Add instruction helpers' > > 003/25:[----] [--] 'target/avr: Add instruction translation - > > Registers definition' > > 004/25:[----] [--] 'target/avr: Add instruction translation - > > Arithmetic and Logic Instructions' > > 005/25:[----] [--] 'target/avr: Add instruction translation - Branch > > Instructions' > > 006/25:[----] [--] 'target/avr: Add instruction translation - Data > > Transfer Instructions' > > 007/25:[----] [--] 'target/avr: Add instruction translation - Bit > > and Bit-test Instructions' > > 008/25:[----] [--] 'target/avr: Add instruction translation - MCU > > Control Instructions' > > 009/25:[----] [--] 'target/avr: Add instruction translation - CPU > > main translation function' > > 010/25:[----] [--] 'target/avr: Add instruction disassembly function' > > 011/25:[----] [--] 'hw/char: Add limited support for Atmel USART > > peripheral' > > 012/25:[0045] [FC] 'hw/timer: Add limited support for Atmel 16 bit > > timer peripheral' > > 013/25:[----] [--] 'hw/misc: Add Atmel power device' > > 014/25:[0024] [FC] 'target/avr: Add section about AVR into QEMU > > documentation' > > 015/25:[----] [--] 'target/avr: Register AVR support with the rest > > of QEMU' > > 016/25:[----] [--] 'target/avr: Add machine none test' > > 017/25:[0002] [FC] 'target/avr: Update MAINTAINERS file' > > 018/25:[down] 'hw/core/loader: Let load_elf populate the > > processor-specific flags' > > 019/25:[down] 'hw/avr: Add helper to load raw/ELF firmware > > binaries' > > 020/25:[0015] [FC] 'hw/avr: Add some ATmega microcontrollers' > > 021/25:[0040] [FC] 'hw/avr: Add some Arduino boards' > > 022/25:[----] [--] 'target/avr: Update build system' > > 023/25:[----] [--] 'tests/boot-serial-test: Test some Arduino boards > > (AVR based)' > > 024/25:[----] [--] 'tests/acceptance: Test the Arduino MEGA2560 > board' > > 025/25:[----] [--] '.travis.yml: Run the AVR acceptance tests' > > > > Repo: https://gitlab.com/philmd/qemu/commits/avr-rc2 > > > > [1] > https://www.mail-archive.com/qemu-devel@nongnu.org/msg672926.html > > Supersedes: <20200123000307.11541-1-richard.henderson@linaro.org > > <mailto:20200123000307.11541-1-richard.henderson@linaro.org>> > > > > 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é (5): > > hw/core/loader: Let load_elf populate the processor-specific flags > > hw/avr: Add helper to load raw/ELF firmware binaries > > 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 + > > hw/avr/boot.h | 33 + > > include/disas/dis-asm.h | 19 + > > include/elf.h | 2 + > > include/hw/char/atmel_usart.h | 93 + > > include/hw/elf_ops.h | 6 +- > > include/hw/loader.h | 6 +- > > 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 | 151 ++ > > hw/avr/atmel_atmega.c | 470 +++++ > > hw/avr/boot.c | 74 + > > hw/char/atmel_usart.c | 320 ++++ > > hw/core/loader.c | 15 +- > > hw/misc/atmel_power.c | 112 ++ > > hw/riscv/boot.c | 2 +- > > hw/timer/atmel_timer16.c | 605 ++++++ > > 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 | 30 + > > gdb-xml/avr-cpu.xml | 49 + > > hw/avr/Kconfig | 9 + > > hw/avr/Makefile.objs | 3 + > > 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 + > > 50 files changed, 7539 insertions(+), 13 deletions(-) > > create mode 100644 default-configs/avr-softmmu.mak > > create mode 100644 hw/avr/atmel_atmega.h > > create mode 100644 hw/avr/boot.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/avr/boot.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.21.1 > > > > > > > > -- > > Best Regards, > > Michael Rolnik > >