qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PULL 00/13] AVR target
@ 2016-09-20 19:54 Richard Henderson
  2016-09-22  6:40 ` Thomas Huth
  2016-09-22 14:39 ` Peter Maydell
  0 siblings, 2 replies; 8+ messages in thread
From: Richard Henderson @ 2016-09-20 19:54 UTC (permalink / raw)
  To: qemu-devel; +Cc: peter.maydell

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

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Qemu-devel] [PULL 00/13] AVR target
  2016-09-20 19:54 [Qemu-devel] [PULL 00/13] AVR target Richard Henderson
@ 2016-09-22  6:40 ` Thomas Huth
  2016-09-22 16:10   ` Richard Henderson
  2016-09-22 14:39 ` Peter Maydell
  1 sibling, 1 reply; 8+ messages in thread
From: Thomas Huth @ 2016-09-22  6:40 UTC (permalink / raw)
  To: Richard Henderson; +Cc: qemu-devel, peter.maydell

On Tue, 20 Sep 2016 12:54:31 -0700
Richard Henderson <rth@twiddle.net> 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

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Qemu-devel] [PULL 00/13] AVR target
  2016-09-20 19:54 [Qemu-devel] [PULL 00/13] AVR target Richard Henderson
  2016-09-22  6:40 ` Thomas Huth
@ 2016-09-22 14:39 ` Peter Maydell
  2016-09-22 16:07   ` Richard Henderson
  1 sibling, 1 reply; 8+ messages in thread
From: Peter Maydell @ 2016-09-22 14:39 UTC (permalink / raw)
  To: Richard Henderson; +Cc: QEMU Developers

On 20 September 2016 at 20:54, Richard Henderson <rth@twiddle.net> 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

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Qemu-devel] [PULL 00/13] AVR target
  2016-09-22 14:39 ` Peter Maydell
@ 2016-09-22 16:07   ` Richard Henderson
  2016-09-22 16:29     ` Peter Maydell
  0 siblings, 1 reply; 8+ messages in thread
From: Richard Henderson @ 2016-09-22 16:07 UTC (permalink / raw)
  To: Peter Maydell; +Cc: QEMU Developers

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~

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Qemu-devel] [PULL 00/13] AVR target
  2016-09-22  6:40 ` Thomas Huth
@ 2016-09-22 16:10   ` Richard Henderson
  2016-09-22 19:20     ` Bastian Koppelmann
  0 siblings, 1 reply; 8+ messages in thread
From: Richard Henderson @ 2016-09-22 16:10 UTC (permalink / raw)
  To: Thomas Huth; +Cc: qemu-devel, peter.maydell

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~

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Qemu-devel] [PULL 00/13] AVR target
  2016-09-22 16:07   ` Richard Henderson
@ 2016-09-22 16:29     ` Peter Maydell
  2016-09-22 19:48       ` Richard Henderson
  0 siblings, 1 reply; 8+ messages in thread
From: Peter Maydell @ 2016-09-22 16:29 UTC (permalink / raw)
  To: Richard Henderson; +Cc: QEMU Developers

On 22 September 2016 at 17:07, Richard Henderson <rth@twiddle.net> 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

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Qemu-devel] [PULL 00/13] AVR target
  2016-09-22 16:10   ` Richard Henderson
@ 2016-09-22 19:20     ` Bastian Koppelmann
  0 siblings, 0 replies; 8+ messages in thread
From: Bastian Koppelmann @ 2016-09-22 19:20 UTC (permalink / raw)
  To: Richard Henderson, Thomas Huth; +Cc: peter.maydell, qemu-devel

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

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Qemu-devel] [PULL 00/13] AVR target
  2016-09-22 16:29     ` Peter Maydell
@ 2016-09-22 19:48       ` Richard Henderson
  0 siblings, 0 replies; 8+ messages in thread
From: Richard Henderson @ 2016-09-22 19:48 UTC (permalink / raw)
  To: Peter Maydell; +Cc: QEMU Developers

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~

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2016-09-22 19:48 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-09-20 19:54 [Qemu-devel] [PULL 00/13] AVR target Richard Henderson
2016-09-22  6:40 ` Thomas Huth
2016-09-22 16:10   ` Richard Henderson
2016-09-22 19:20     ` Bastian Koppelmann
2016-09-22 14:39 ` Peter Maydell
2016-09-22 16:07   ` Richard Henderson
2016-09-22 16:29     ` Peter Maydell
2016-09-22 19:48       ` Richard Henderson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).