Re: [Qemu-devel] [PULL 00/13] AVR target

2016-09-22 Thread Bastian Koppelmann
On 09/22/2016 06:10 PM, Richard Henderson wrote:
> On 09/21/2016 11:40 PM, Thomas Huth wrote:
>> Slowly we're getting really a lot of target-something folders in the
>> main directory. Maybe we should rather introduce a singly "target"
>> folder instead and put all the targets under that folder? So we then
>> get target/avr/, target/ppc/, target/i386/ etc. in the tree instead.
>> Would look much more tidied up to me. Our main folder is IMHO still
>> too much overcrowded.
> 
> I don't feel the same overcrowding, but I wouldn't be opposed if others
> agree and if you want to do all the adjusting of the build system.
> 
> 
> r~
> 

I agree with Thomas here. There is at least RISC-V, which is about to
hit upstream.

Cheers,
Bastian



Re: [Qemu-devel] [PULL 00/13] AVR target

2016-09-22 Thread Richard Henderson

On 09/22/2016 09:29 AM, Peter Maydell wrote:

The usual approach to this is that you add "&& !qtest_enabled()" to the
check for "should we bomb out?". (see for instance mips_malta.c).


Thanks.  I'll fix that up this weekend.


r~



Re: [Qemu-devel] [PULL 00/13] AVR target

2016-09-22 Thread Richard Henderson

On 09/21/2016 11:40 PM, Thomas Huth wrote:

Slowly we're getting really a lot of target-something folders in the
main directory. Maybe we should rather introduce a singly "target"
folder instead and put all the targets under that folder? So we then
get target/avr/, target/ppc/, target/i386/ etc. in the tree instead.
Would look much more tidied up to me. Our main folder is IMHO still
too much overcrowded.


I don't feel the same overcrowding, but I wouldn't be opposed if others agree 
and if you want to do all the adjusting of the build system.



r~



Re: [Qemu-devel] [PULL 00/13] AVR target

2016-09-22 Thread Richard Henderson

On 09/22/2016 07:39 AM, Peter Maydell wrote:

Fails 'make check' on all platforms:

TEST: tests/qom-test... (pid=7359)
  /avr/qom/none:   OK
  /avr/qom/sample:
qemu-system-avr: Could not find flash image file '(null)'
Broken pipe
FAIL


Ho hum.  I never considered that not touching tests/ would create new tests.

For the record, how does arm handle the case of no -bios given?  Just blindly 
execute 0's without a warning?  Would it be better to allow execution of 0's or 
blacklist?



r~



Re: [Qemu-devel] [PULL 00/13] AVR target

2016-09-22 Thread Peter Maydell
On 22 September 2016 at 17:07, Richard Henderson  wrote:
> On 09/22/2016 07:39 AM, Peter Maydell wrote:
>>
>> Fails 'make check' on all platforms:
>>
>> TEST: tests/qom-test... (pid=7359)
>>   /avr/qom/none:   OK
>>   /avr/qom/sample:
>> qemu-system-avr: Could not find flash image file '(null)'
>> Broken pipe
>> FAIL
>
>
> Ho hum.  I never considered that not touching tests/ would create new tests.
>
> For the record, how does arm handle the case of no -bios given?  Just
> blindly execute 0's without a warning?  Would it be better to allow
> execution of 0's or blacklist?

The usual approach to this is that you add "&& !qtest_enabled()" to the
check for "should we bomb out?". (see for instance mips_malta.c).
The qtest framework isn't ever going to try to execute anything,
it just creates the system and sets itself up so test cases can
prod it, and so there's no need for there to be executable code
present. (The purpose of the qom-test test is "check that the board
will at least instantiate itself without falling over"; you
can also write tests to do more interesting things.)

For actual-running of boards, ARM boards mostly will happily let you
run a pile of zeroes. Some other boards will complain if you
didn't provide a kernel or a bios image.

PS: probably better to avoid printf("...%s...", NULL) too.

thanks
-- PMM



Re: [Qemu-devel] [PULL 00/13] AVR target

2016-09-22 Thread Peter Maydell
On 20 September 2016 at 20:54, Richard Henderson  wrote:
> Let us merge patch set v18.
>
>
> r~
>
>
>
> The following changes since commit ebc231d7daf1f41b23d8b6a6d1234800b86e5fe2:
>
>   Merge remote-tracking branch 'remotes/awilliam/tags/vfio-fixes-20160915.0' 
> into staging (2016-09-15 19:36:02 +0100)
>
> are available in the git repository at:
>
>   git://github.com/rth7680/qemu.git tags/pull-avr-20160920
>
> for you to fetch changes up to ed250c0f1f42c06aa653d48f7f5b190972d541fe:
>
>   target-avr: Merge translate-inst.inc.c into translate.c (2016-09-16 
> 14:20:20 -0700)
>
> 
> target avr

Fails 'make check' on all platforms:

TEST: tests/qom-test... (pid=7359)
  /avr/qom/none:   OK
  /avr/qom/sample:
qemu-system-avr: Could not find flash image file '(null)'
Broken pipe
FAIL


thanks
-- PMM



Re: [Qemu-devel] [PULL 00/13] AVR target

2016-09-22 Thread Thomas Huth
On Tue, 20 Sep 2016 12:54:31 -0700
Richard Henderson  wrote:

> Let us merge patch set v18.
> 
> 
> r~
> 
> 
> 
> The following changes since commit ebc231d7daf1f41b23d8b6a6d1234800b86e5fe2:
> 
>   Merge remote-tracking branch 'remotes/awilliam/tags/vfio-fixes-20160915.0' 
> into staging (2016-09-15 19:36:02 +0100)
> 
> are available in the git repository at:
> 
>   git://github.com/rth7680/qemu.git tags/pull-avr-20160920
> 
> for you to fetch changes up to ed250c0f1f42c06aa653d48f7f5b190972d541fe:
> 
>   target-avr: Merge translate-inst.inc.c into translate.c (2016-09-16 
> 14:20:20 -0700)
> 
> 
> target avr
> 
> 
> Michael Rolnik (9):
>   target-avr: AVR cores support is added.
>   target-avr: adding AVR CPU features/flavors
>   target-avr: adding a sample AVR board
>   target-avr: adding instructions encodings
>   target-avr: adding AVR interrupt handling
>   target-avr: adding helpers for IN, OUT, SLEEP, WBR & unsupported 
> instructions
>   target-avr: adding instruction translation
>   target-avr: instruction decoder generator
>   target-avr: adding instruction decoder
> 
> Richard Henderson (4):
>   target-avr: Put env pointer in DisasContext
>   target-avr: Put all translation code into one compilation unit
>   target-avr: Respect .inc.c convention
>   target-avr: Merge translate-inst.inc.c into translate.c
> 
>  MAINTAINERS|6 +
>  arch_init.c|2 +
>  configure  |5 +
>  default-configs/avr-softmmu.mak|   21 +
>  hw/avr/Makefile.objs   |   21 +
>  hw/avr/sample.c|  111 ++
>  include/disas/bfd.h|6 +
>  include/sysemu/arch_init.h |1 +
>  target-avr/Makefile.objs   |   23 +
>  target-avr/cpu-qom.h   |   84 +
>  target-avr/cpu.c   |  602 ++
>  target-avr/cpu.h   |  237 +++
>  target-avr/cpugen/CMakeLists.txt   |   38 +
>  target-avr/cpugen/README.md|   17 +
>  target-avr/cpugen/cpu/avr.yaml |  213 ++
>  target-avr/cpugen/src/CMakeLists.txt   |   62 +
>  target-avr/cpugen/src/cpugen.cpp   |  457 +
>  target-avr/cpugen/src/utils.cpp|   26 +
>  target-avr/cpugen/src/utils.h  |   78 +
>  target-avr/cpugen/xsl/decode.c.xsl |  103 +
>  target-avr/cpugen/xsl/translate-inst.h.xsl |  118 ++
>  target-avr/cpugen/xsl/utils.xsl|  108 ++
>  target-avr/decode.inc.c|  689 +++
>  target-avr/gdbstub.c   |   85 +
>  target-avr/helper.c|  355 
>  target-avr/helper.h|   28 +
>  target-avr/machine.c   |  114 ++
>  target-avr/translate-inst.h|  691 +++
>  target-avr/translate.c | 2911 
> 

OK, this is now slightly off-topic and should not prevent your PULL
request from going in, but I've got this idea since quite a while now
and your PULL request triggered it again:
Slowly we're getting really a lot of target-something folders in the
main directory. Maybe we should rather introduce a singly "target"
folder instead and put all the targets under that folder? So we then
get target/avr/, target/ppc/, target/i386/ etc. in the tree instead.
Would look much more tidied up to me. Our main folder is IMHO still
too much overcrowded. 

Just my 0.02 €

 Thomas



[Qemu-devel] [PULL 00/13] AVR target

2016-09-20 Thread Richard Henderson
Let us merge patch set v18.


r~



The following changes since commit ebc231d7daf1f41b23d8b6a6d1234800b86e5fe2:

  Merge remote-tracking branch 'remotes/awilliam/tags/vfio-fixes-20160915.0' 
into staging (2016-09-15 19:36:02 +0100)

are available in the git repository at:

  git://github.com/rth7680/qemu.git tags/pull-avr-20160920

for you to fetch changes up to ed250c0f1f42c06aa653d48f7f5b190972d541fe:

  target-avr: Merge translate-inst.inc.c into translate.c (2016-09-16 14:20:20 
-0700)


target avr


Michael Rolnik (9):
  target-avr: AVR cores support is added.
  target-avr: adding AVR CPU features/flavors
  target-avr: adding a sample AVR board
  target-avr: adding instructions encodings
  target-avr: adding AVR interrupt handling
  target-avr: adding helpers for IN, OUT, SLEEP, WBR & unsupported 
instructions
  target-avr: adding instruction translation
  target-avr: instruction decoder generator
  target-avr: adding instruction decoder

Richard Henderson (4):
  target-avr: Put env pointer in DisasContext
  target-avr: Put all translation code into one compilation unit
  target-avr: Respect .inc.c convention
  target-avr: Merge translate-inst.inc.c into translate.c

 MAINTAINERS|6 +
 arch_init.c|2 +
 configure  |5 +
 default-configs/avr-softmmu.mak|   21 +
 hw/avr/Makefile.objs   |   21 +
 hw/avr/sample.c|  111 ++
 include/disas/bfd.h|6 +
 include/sysemu/arch_init.h |1 +
 target-avr/Makefile.objs   |   23 +
 target-avr/cpu-qom.h   |   84 +
 target-avr/cpu.c   |  602 ++
 target-avr/cpu.h   |  237 +++
 target-avr/cpugen/CMakeLists.txt   |   38 +
 target-avr/cpugen/README.md|   17 +
 target-avr/cpugen/cpu/avr.yaml |  213 ++
 target-avr/cpugen/src/CMakeLists.txt   |   62 +
 target-avr/cpugen/src/cpugen.cpp   |  457 +
 target-avr/cpugen/src/utils.cpp|   26 +
 target-avr/cpugen/src/utils.h  |   78 +
 target-avr/cpugen/xsl/decode.c.xsl |  103 +
 target-avr/cpugen/xsl/translate-inst.h.xsl |  118 ++
 target-avr/cpugen/xsl/utils.xsl|  108 ++
 target-avr/decode.inc.c|  689 +++
 target-avr/gdbstub.c   |   85 +
 target-avr/helper.c|  355 
 target-avr/helper.h|   28 +
 target-avr/machine.c   |  114 ++
 target-avr/translate-inst.h|  691 +++
 target-avr/translate.c | 2911 
 29 files changed, 7212 insertions(+)
 create mode 100644 default-configs/avr-softmmu.mak
 create mode 100644 hw/avr/Makefile.objs
 create mode 100644 hw/avr/sample.c
 create mode 100644 target-avr/Makefile.objs
 create mode 100644 target-avr/cpu-qom.h
 create mode 100644 target-avr/cpu.c
 create mode 100644 target-avr/cpu.h
 create mode 100644 target-avr/cpugen/CMakeLists.txt
 create mode 100644 target-avr/cpugen/README.md
 create mode 100644 target-avr/cpugen/cpu/avr.yaml
 create mode 100644 target-avr/cpugen/src/CMakeLists.txt
 create mode 100644 target-avr/cpugen/src/cpugen.cpp
 create mode 100644 target-avr/cpugen/src/utils.cpp
 create mode 100644 target-avr/cpugen/src/utils.h
 create mode 100644 target-avr/cpugen/xsl/decode.c.xsl
 create mode 100644 target-avr/cpugen/xsl/translate-inst.h.xsl
 create mode 100644 target-avr/cpugen/xsl/utils.xsl
 create mode 100644 target-avr/decode.inc.c
 create mode 100644 target-avr/gdbstub.c
 create mode 100644 target-avr/helper.c
 create mode 100644 target-avr/helper.h
 create mode 100644 target-avr/machine.c
 create mode 100644 target-avr/translate-inst.h
 create mode 100644 target-avr/translate.c