qemu-riscv
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH rc2 00/25] target/avr merger


From: Philippe Mathieu-Daudé
Subject: Re: [PATCH rc2 00/25] target/avr merger
Date: Fri, 24 Jan 2020 02:02:49 +0100

On Fri, Jan 24, 2020 at 1:51 AM Philippe Mathieu-Daudé <address@hidden> 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/address@hidden/diff/address@hidden/

> 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/address@hidden/msg672926.html
> Supersedes: <address@hidden>
>
> 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
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]