Re: [PATCH rc6 00/30] target/avr merger

2020-07-07 Thread Philippe Mathieu-Daudé
On 7/5/20 4:02 PM, Thomas Huth wrote:
> This is the AVR port from Michael, release (merge) candidate 6.
> 
> I've rebased rc5 to the current master branch, fixed the conflicts,
> and updated the APIs where necessary (e.g. qdev_create() had to be
> replaced).
> 
> These patches have been on the list for a long time. Let's try to
> get them finally merged.
> 
> You can also find the patches in my repo here:
> 
>  https://gitlab.com/huth/qemu/-/tree/avr
> 
> rc6:
> - Rebased to master, fixed conflicts
> - Changed the object_initialize_child() and qdev_create() calls
>   where necessary
> - Converted the texi doc to Sphinx
> - Dropped the travis.yml patch - the acceptance CI is currently moved
>   to gitlab, so we should add it later there instead
> - Dropped the patch to clean up MAINTAINERs - and do it correctly
>   right from the start instead.

Thanks for this Thomas!

I am queuing the patches and will send a pull request.

Regards,

Phil.



Re: [PATCH rc6 00/30] target/avr merger

2020-07-05 Thread Peter Maydell
On Sun, 5 Jul 2020 at 19:31, Thomas Huth  wrote:
>
> Am Sun, 5 Jul 2020 07:29:06 -0700 (PDT)
> schrieb no-re...@patchew.org:
>
> > Patchew URL:
> > https://patchew.org/QEMU/20200705140315.260514-1-h...@tuxfamily.org/
> [...]
> > === OUTPUT BEGIN ===
> > 1/30 Checking commit b5e3116a3591 (target/avr: Add basic parameters
> > of the new platform) WARNING: added, moved or deleted file(s), does
> > MAINTAINERS need updating? #42:
> > new file mode 100644
>
> These warnings are really annoying. The target/avr folder is added to
> MAINTAINERS in the first patch, so they should not occur...?

checkpatch's logic for this is extremely simplistic: it will
warn if:
 * the patch adds, moves or deletes a file
 * the patch does not itself modify MAINTAINERS

This naturally leads to a ton of false-positives.

thanks
-- PMM



Re: [PATCH rc6 00/30] target/avr merger

2020-07-05 Thread Thomas Huth
Am Sun, 5 Jul 2020 07:29:06 -0700 (PDT)
schrieb no-re...@patchew.org:

> Patchew URL:
> https://patchew.org/QEMU/20200705140315.260514-1-h...@tuxfamily.org/
[...]
> === OUTPUT BEGIN ===
> 1/30 Checking commit b5e3116a3591 (target/avr: Add basic parameters
> of the new platform) WARNING: added, moved or deleted file(s), does
> MAINTAINERS need updating? #42: 
> new file mode 100644

These warnings are really annoying. The target/avr folder is added to
MAINTAINERS in the first patch, so they should not occur...?

[...]
> ERROR: trailing whitespace
> #39: FILE: docs/system/target-avr.rst:20:
> + - Continuous non interrupted execution: $

Ok, that's a real one. I just already fixed it in my local branch.

 Thomas



Re: [PATCH rc6 00/30] target/avr merger

2020-07-05 Thread no-reply
Patchew URL: 
https://patchew.org/QEMU/20200705140315.260514-1-h...@tuxfamily.org/



Hi,

This series seems to have some coding style problems. See output below for
more information:

Subject: [PATCH rc6 00/30] target/avr merger
Type: series
Message-id: 20200705140315.260514-1-h...@tuxfamily.org

=== TEST SCRIPT BEGIN ===
#!/bin/bash
git rev-parse base > /dev/null || exit 0
git config --local diff.renamelimit 0
git config --local diff.renames True
git config --local diff.algorithm histogram
./scripts/checkpatch.pl --mailback base..
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
 - [tag update]  patchew/20200703184952.4918-1-f4...@amsat.org -> 
patchew/20200703184952.4918-1-f4...@amsat.org
 - [tag update]  patchew/20200703200459.23294-1-f4...@amsat.org -> 
patchew/20200703200459.23294-1-f4...@amsat.org
 - [tag update]  patchew/20200704153908.12118-1-phi...@redhat.com -> 
patchew/20200704153908.12118-1-phi...@redhat.com
 * [new tag] patchew/20200705140315.260514-1-h...@tuxfamily.org -> 
patchew/20200705140315.260514-1-h...@tuxfamily.org
Switched to a new branch 'test'
faad775 target/avr: Add section into QEMU documentation
8857615 tests/acceptance: Test the Arduino MEGA2560 board
b564682 tests/boot-serial: Test some Arduino boards (AVR based)
d5e4699 tests/machine-none: Add AVR support
bba1e34 target/avr: Update build system
29dd29c hw/avr: Add limited support for some Arduino boards
3d1640f hw/avr: Add some ATmega microcontrollers
43b47a1 hw/avr: Add support for loading ELF/raw binaries
1ae4d9e target/avr: Register AVR support with the rest of QEMU
a523aa8 hw/misc: avr: Add limited support for power reduction device
d673e4a hw/timer: avr: Add limited support for 16-bit timer peripheral
3cb5e31 hw/char: avr: Add limited support for USART peripheral
81ef8ef target/avr: Add support for disassembling via option '-d in_asm'
e2c7a47 target/avr: Initialize TCG register variables
31793f5 target/avr: Add instruction translation - CPU main translation function
03b0b1e target/avr: Add instruction translation - MCU Control Instructions
dd26299 target/avr: Add instruction translation - Bit and Bit-test Instructions
cf3dbfd target/avr: Add instruction translation - Data Transfer Instructions
22d4651 target/avr: Add instruction translation - Branch Instructions
120a956 target/avr: Add instruction translation - Arithmetic and Logic 
Instructions
28a91ea target/avr: Add instruction translation - Register definitions
b61b514 target/avr: Add instruction helpers
74089c9 target/avr: Add defintions of AVR core types
9c7e675 target/avr: Introduce enumeration AVRFeature
1fd82d4 target/avr: CPU class: Add GDB support
3c788c7 target/avr: CPU class: Add migration support
cb72169 target/avr: CPU class: Add memory menagement support
0758ca1 target/avr: CPU class: Add interrupt handling support
bf938b7 target/avr: Introduce basic CPU class object
b5e3116 target/avr: Add basic parameters of the new platform

=== OUTPUT BEGIN ===
1/30 Checking commit b5e3116a3591 (target/avr: Add basic parameters of the new 
platform)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#42: 
new file mode 100644

total: 0 errors, 1 warnings, 115 lines checked

Patch 1/30 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
2/30 Checking commit bf938b75dc12 (target/avr: Introduce basic CPU class object)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#25: 
new file mode 100644

total: 0 errors, 1 warnings, 412 lines checked

Patch 2/30 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
3/30 Checking commit 0758ca106cc4 (target/avr: CPU class: Add interrupt 
handling support)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#37: 
new file mode 100644

total: 0 errors, 1 warnings, 97 lines checked

Patch 3/30 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
4/30 Checking commit cb72169d4881 (target/avr: CPU class: Add memory menagement 
support)
5/30 Checking commit 3c788c7f7b46 (target/avr: CPU class: Add migration support)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#48: 
new file mode 100644

total: 0 errors, 1 warnings, 136 lines checked

Patch 5/30 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
6/30 Checking commit 1fd82d47f5a7 (target/avr: CPU class: Add GDB support)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#37: 
new file mode 100644

total: 0 errors, 1 warnings, 156 lines checked

Patch 6/30 has style problems, please review.  If any of these e

[PATCH rc6 00/30] target/avr merger

2020-07-05 Thread Thomas Huth
This is the AVR port from Michael, release (merge) candidate 6.

I've rebased rc5 to the current master branch, fixed the conflicts,
and updated the APIs where necessary (e.g. qdev_create() had to be
replaced).

These patches have been on the list for a long time. Let's try to
get them finally merged.

You can also find the patches in my repo here:

 https://gitlab.com/huth/qemu/-/tree/avr

rc6:
- Rebased to master, fixed conflicts
- Changed the object_initialize_child() and qdev_create() calls
  where necessary
- Converted the texi doc to Sphinx
- Dropped the travis.yml patch - the acceptance CI is currently moved
  to gitlab, so we should add it later there instead
- Dropped the patch to clean up MAINTAINERs - and do it correctly
  right from the start instead.

Michael Rolnik (26):
  target/avr: Add basic parameters of the new platform
  target/avr: Introduce basic CPU class object
  target/avr: CPU class: Add interrupt handling support
  target/avr: CPU class: Add memory menagement support
  target/avr: CPU class: Add migration support
  target/avr: CPU class: Add GDB support
  target/avr: Introduce enumeration AVRFeature
  target/avr: Add defintions of AVR core types
  target/avr: Add instruction helpers
  target/avr: Add instruction translation - Register definitions
  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: Initialize TCG register variables
  target/avr: Add support for disassembling via option '-d in_asm'
  hw/char: avr: Add limited support for USART peripheral
  hw/timer: avr: Add limited support for 16-bit timer peripheral
  hw/misc: avr: Add limited support for power reduction device
  target/avr: Register AVR support with the rest of QEMU
  target/avr: Update build system
  tests/machine-none: Add AVR support
  tests/boot-serial: Test some Arduino boards (AVR based)
  tests/acceptance: Test the Arduino MEGA2560 board

Philippe Mathieu-Daudé (3):
  hw/avr: Add support for loading ELF/raw binaries
  hw/avr: Add some ATmega microcontrollers
  hw/avr: Add limited support for some Arduino boards

Thomas Huth (1):
  target/avr: Add section into QEMU documentation

 MAINTAINERS  |   30 +
 arch_init.c  |2 +
 configure|7 +
 default-configs/avr-softmmu.mak  |5 +
 docs/system/target-avr.rst   |   37 +
 docs/system/targets.rst  |1 +
 gdb-xml/avr-cpu.xml  |   49 +
 hw/Kconfig   |1 +
 hw/avr/Kconfig   |9 +
 hw/avr/Makefile.objs |3 +
 hw/avr/arduino.c |  149 ++
 hw/avr/atmega.c  |  458 +
 hw/avr/atmega.h  |   48 +
 hw/avr/boot.c|  116 ++
 hw/avr/boot.h|   33 +
 hw/char/Kconfig  |3 +
 hw/char/Makefile.objs|1 +
 hw/char/avr_usart.c  |  320 
 hw/misc/Kconfig  |3 +
 hw/misc/Makefile.objs|2 +
 hw/misc/avr_power.c  |  113 ++
 hw/misc/trace-events |4 +
 hw/timer/Kconfig |3 +
 hw/timer/Makefile.objs   |2 +
 hw/timer/avr_timer16.c   |  609 ++
 hw/timer/trace-events|   12 +
 include/disas/dis-asm.h  |   19 +
 include/elf.h|4 +
 include/hw/char/avr_usart.h  |   93 +
 include/hw/misc/avr_power.h  |   46 +
 include/hw/timer/avr_timer16.h   |   94 +
 include/sysemu/arch_init.h   |1 +
 qapi/machine.json|2 +-
 target/avr/Makefile.objs |   34 +
 target/avr/cpu-param.h   |   37 +
 target/avr/cpu-qom.h |   54 +
 target/avr/cpu.c |  777 
 target/avr/cpu.h |  256 +++
 target/avr/disas.c   |  246 +++
 target/avr/gdbstub.c |   84 +
 target/avr/helper.c  |  342 
 target/avr/helper.h  |   29 +
 target/avr/insn.decode   |  187 ++
 target/avr/machine.c |  121 ++
 target/avr/translate.c   | 3073 ++
 tests/acceptance/machine_avr6.py |   50 +
 tests/qtest/Makefile.include |2 +
 tests/qtest/boot-serial-test.c   |   11 +
 tests/qtest/machine-none-test.c  |1 +
 49 files changed, 7582 insertions(+), 1 deletion(-)
 create mode 100644 default-configs/avr-softmmu.mak
 create mode 100644 docs/system/target-avr.rst
 create mode 100644 gdb-xml/avr-cpu.xml
 create mode 100644 hw/avr/Kconfig
 create mode 100644 hw/avr/Makefile.objs
 create mode 100644 hw/avr/arduino.c