I'll start with converting as many from "quick" as I can. If/when I end up creating my own, is there a convention for what they should be named and where they should go?
Also, I'm having a bit of a problem with just 00.hello. I compiled the source in tests/test-progs/hello/src into tests/test-progs/hello/bin/riscv/linux (for some reason mine disappeared), and then created tests/quick/se/00.hello/ref/riscv/linux/simple-atomic. Then I compiled and ran build/RISCV/gem5.fast, configuring for the atomic CPU and redirecting the output stats, configuration, stdout, and stderr into that directory. But when I run build/RISCV/tests/debug/quick/se/00.hello/riscv/linux/simple-atomic, it claims that it couldn't find several stats and that it found several other unexpected ones in stats.txt (and completely ignored the other files). Is there some other configuration I should be using to generate the output for the regression? Actually, better yet, is there a way for me to figure out what the configuration I should be using is, since I imagine I'll run into this problem for the other CPU models? On Thu, Oct 27, 2016 at 6:38 PM, Jason Lowe-Power <ja...@lowepower.com> wrote: > Hi Alec, > > Thanks for taking the time for writing tests. It's something that we as a > community need to get better at. > > To respond to your questions: > - It is completely acceptable for you to include RISC-V only tests. In > fact, I think it's a necessity. > - Focusing just on the "quick" regressions makes sense to me. If you have > one or two longer benchmarks, that would be good, but not required. If you > could stay away from SPEC it would be better. I believe that we can't > distribute the binaries, which makes it a pain for others to run the > regression test. > - Covering corner cases would be amazing, but again, not required. If you > look at gem5's current regression suite, you'll find that we currently > don't have anything like that. So, if it doesn't take you too much time, > this would be a good addition, but just getting coverage of all > instructions would be a step up from all the other ISAs. > - For m5threads, no need to implement it for RISC-V. Although, it looks > like you only need to implement 3 functions, so I don't think it would be > too hard. But that's a project for another day :). > > Again, I want to stress that we can't expect you to spend lots of time > writing great regressions. It would be very hypocritical :). Anything is > acceptable. Of course, better regressions mean that RISC-V will be more > usable and more stable. > > Cheers, > Jason > > On Thu, Oct 27, 2016 at 5:29 PM Alec Roelke <ar...@virginia.edu> wrote: > >> I'll certainly add regressions for "hello" for each of the four models, >> and I'll try to get other "quick" tests done the same way, too. I won't be >> able to do all of them as m5threads hasn't been implemented for RISC-V, but >> I'll do what I can. I can also do the "long" ones the same way, if time >> isn't a concern (I noticed some were from SPEC, which could take a long >> time to complete). >> >> Because m5threads hasn't been implemented for RISC-V, and my patches only >> support SE mode, I can't actually test if the atomic instructions work >> properly when used concurrently, but I can at least test that they perform >> the read-modify-write operations properly. Is it okay if I add a few >> regressions that only work for RISC-V since they'd use assembly calls? For >> that matter, should I be making sure that the existing regressions cover >> corner cases in instructions, or is it sufficient to see that each >> instruction is represented at least once by them? I could write some tests >> that check corner cases, but at least some would use assembly calls and >> thus be incompatible with anything other than RISC-V. >> >> On Thu, Oct 27, 2016 at 5:55 PM, Jason Lowe-Power <ja...@lowepower.com> >> wrote: >> >> Hi Alec, >> >> Thanks again for implementing RISC-V in gem5. It's an incredibly >> important and timely addition! >> >> As far as I can tell, the patches look good. Hopefully some other will >> review them soon as well. >> >> The only thing that's missing that I would really like to have before >> pushing the patches is some regression tests for RISC-V. If you could look >> at http://gem5.org/Regression_Tests and have a go at adding some >> regressions, it would be helpful. It would be *great* if you could make >> sure the regressions cover most of what you've implemented (e.g., >> multiply/atomic/etc. instructions, Linux syscalls, etc.). If that isn't >> possible, at least having a "hello" regression for a couple of different >> CPU models is needed. >> >> Thanks again for your contribution! >> >> Jason >> >> >> _______________________________________________ gem5-dev mailing list gem5-dev@gem5.org http://m5sim.org/mailman/listinfo/gem5-dev