Skip to content
  • Peter Maydell's avatar
    d3449830
    Merge remote-tracking branch 'remotes/philmd-gitlab/tags/avr-port-20200711' into staging · d3449830
    Peter Maydell authored
    8bit AVR port from Michael Rolnik.
    
    Michael started to work on the AVR port few years ago [*] and kept
    improving the code over various series.
    
    List of people who help him (in chronological order):
    - Richard Henderson
    - Sarah Harris and Edward Robbins
    - Philippe Mathieu-Daudé and Aleksandar Markovic
    - Pavel Dovgalyuk
    - Thomas Huth
    
    [*] The oldest contribution I could find on the list is from 2016:
    https://lists.nongnu.org/archive/html/qemu-devel/2016-06/msg02985.html
    
    Tests included:
    
    $ avocado --show=app run -t arch:avr tests/acceptance/
    Fetching asset from tests/acceptance/machine_avr6.py:AVR6Machine.test_freertos
     (1/1) tests/acceptance/machine_avr6.py:AVR6Machine.test_freertos: PASS (2.13 s)
    RESULTS    : PASS 1 | ERROR 0 | FAIL 0 | SKIP 0 | WARN 0 | INTERRUPT 0 | CANCEL 0
    JOB TIME   : 2.35 s
    
    $ make check-qtest-avr
      TEST    check-qtest-avr: tests/qtest/boot-serial-test
      TEST    check-qtest-avr: tests/qtest/cdrom-test
      TEST    check-qtest-avr: tests/qtest/device-introspect-test
      TEST    check-qtest-avr: tests/qtest/machine-none-test
      TEST    check-qtest-avr: tests/qtest/qmp-test
      TEST    check-qtest-avr: tests/qtest/qmp-cmd-test
      TEST    check-qtest-avr: tests/qtest/qom-test
      TEST    check-qtest-avr: tests/qtest/test-hmp
      TEST    check-qtest-avr: tests/qtest/qos-test
    
    CI results:
    . https://cirrus-ci.com/build/5697049146425344
    . https://gitlab.com/philmd/qemu/-/pipelines/165328058
    . https://travis-ci.org/github/philmd/qemu/builds/705817933
    . https://app.shippable.com/github/philmd/qemu/runs/822/summary/console
    
    
    
    # gpg: Signature made Sat 11 Jul 2020 10:03:11 BST
    # gpg:                using RSA key FAABE75E12917221DCFD6BB2E3E32C2CDEADC0DE
    # gpg: Good signature from "Philippe Mathieu-Daudé (F4BUG) <f4bug@amsat.org>" [full]
    # Primary key fingerprint: FAAB E75E 1291 7221 DCFD  6BB2 E3E3 2C2C DEAD C0DE
    
    * remotes/philmd-gitlab/tags/avr-port-20200711: (32 commits)
      target/avr/disas: Fix store instructions display order
      target/avr/cpu: Fix $PC displayed address
      target/avr/cpu: Drop tlb_flush() in avr_cpu_reset()
      target/avr: Add section into QEMU documentation
      tests/acceptance: Test the Arduino MEGA2560 board
      tests/boot-serial: Test some Arduino boards (AVR based)
      hw/avr: Add limited support for some Arduino boards
      hw/avr: Add some ATmega microcontrollers
      hw/avr: Add support for loading ELF/raw binaries
      hw/misc: avr: Add limited support for power reduction device
      hw/timer: avr: Add limited support for 16-bit timer peripheral
      hw/char: avr: Add limited support for USART peripheral
      tests/machine-none: Add AVR support
      target/avr: Register AVR support with the rest of QEMU
      target/avr: Add support for disassembling via option '-d in_asm'
      target/avr: Initialize TCG register variables
      target/avr: Add instruction translation - CPU main translation function
      target/avr: Add instruction translation - MCU Control Instructions
      target/avr: Add instruction translation - Bit and Bit-test Instructions
      target/avr: Add instruction translation - Data Transfer Instructions
      ...
    
    Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
    d3449830
    Merge remote-tracking branch 'remotes/philmd-gitlab/tags/avr-port-20200711' into staging
    Peter Maydell authored
    8bit AVR port from Michael Rolnik.
    
    Michael started to work on the AVR port few years ago [*] and kept
    improving the code over various series.
    
    List of people who help him (in chronological order):
    - Richard Henderson
    - Sarah Harris and Edward Robbins
    - Philippe Mathieu-Daudé and Aleksandar Markovic
    - Pavel Dovgalyuk
    - Thomas Huth
    
    [*] The oldest contribution I could find on the list is from 2016:
    https://lists.nongnu.org/archive/html/qemu-devel/2016-06/msg02985.html
    
    Tests included:
    
    $ avocado --show=app run -t arch:avr tests/acceptance/
    Fetching asset from tests/acceptance/machine_avr6.py:AVR6Machine.test_freertos
     (1/1) tests/acceptance/machine_avr6.py:AVR6Machine.test_freertos: PASS (2.13 s)
    RESULTS    : PASS 1 | ERROR 0 | FAIL 0 | SKIP 0 | WARN 0 | INTERRUPT 0 | CANCEL 0
    JOB TIME   : 2.35 s
    
    $ make check-qtest-avr
      TEST    check-qtest-avr: tests/qtest/boot-serial-test
      TEST    check-qtest-avr: tests/qtest/cdrom-test
      TEST    check-qtest-avr: tests/qtest/device-introspect-test
      TEST    check-qtest-avr: tests/qtest/machine-none-test
      TEST    check-qtest-avr: tests/qtest/qmp-test
      TEST    check-qtest-avr: tests/qtest/qmp-cmd-test
      TEST    check-qtest-avr: tests/qtest/qom-test
      TEST    check-qtest-avr: tests/qtest/test-hmp
      TEST    check-qtest-avr: tests/qtest/qos-test
    
    CI results:
    . https://cirrus-ci.com/build/5697049146425344
    . https://gitlab.com/philmd/qemu/-/pipelines/165328058
    . https://travis-ci.org/github/philmd/qemu/builds/705817933
    . https://app.shippable.com/github/philmd/qemu/runs/822/summary/console
    
    
    
    # gpg: Signature made Sat 11 Jul 2020 10:03:11 BST
    # gpg:                using RSA key FAABE75E12917221DCFD6BB2E3E32C2CDEADC0DE
    # gpg: Good signature from "Philippe Mathieu-Daudé (F4BUG) <f4bug@amsat.org>" [full]
    # Primary key fingerprint: FAAB E75E 1291 7221 DCFD  6BB2 E3E3 2C2C DEAD C0DE
    
    * remotes/philmd-gitlab/tags/avr-port-20200711: (32 commits)
      target/avr/disas: Fix store instructions display order
      target/avr/cpu: Fix $PC displayed address
      target/avr/cpu: Drop tlb_flush() in avr_cpu_reset()
      target/avr: Add section into QEMU documentation
      tests/acceptance: Test the Arduino MEGA2560 board
      tests/boot-serial: Test some Arduino boards (AVR based)
      hw/avr: Add limited support for some Arduino boards
      hw/avr: Add some ATmega microcontrollers
      hw/avr: Add support for loading ELF/raw binaries
      hw/misc: avr: Add limited support for power reduction device
      hw/timer: avr: Add limited support for 16-bit timer peripheral
      hw/char: avr: Add limited support for USART peripheral
      tests/machine-none: Add AVR support
      target/avr: Register AVR support with the rest of QEMU
      target/avr: Add support for disassembling via option '-d in_asm'
      target/avr: Initialize TCG register variables
      target/avr: Add instruction translation - CPU main translation function
      target/avr: Add instruction translation - MCU Control Instructions
      target/avr: Add instruction translation - Bit and Bit-test Instructions
      target/avr: Add instruction translation - Data Transfer Instructions
      ...
    
    Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
Loading