Re: [Qemu-devel] [PULL 00/13] AVR target
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
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
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
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
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
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
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
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