This is awesome. Nate
On Sun, Nov 27, 2011 at 6:54 AM, Steve Reinhardt <[email protected]> wrote: > Cool! Congrats, that's pretty nice. > On Nov 26, 2011 11:50 PM, "Gabe Black" <[email protected]> wrote: > >> This took less time than I thought. Tada! There's still a lot of work to >> do, but (modulo bugs) I've consolidated SE and FS into a single binary >> that can run either. >> >> Gabe >> >> gblack@chips ~/m5/repos/gem5.sefs $ scons build/ALPHA/tests/opt/quick >> build/ALPHA_MOESI_hammer/tests/opt/quick build/ARM/tests/opt/quick >> build/MIPS/tests/opt/quick build/POWER/tests/opt/quick >> build/SPARC/tests/opt/quick build/X86/tests/opt/quick >> scons: Reading SConscript files ... >> Checking for leading underscore in global variables...(cached) no >> Checking for C header file Python.h... (cached) yes >> Checking for C library pthread... (cached) yes >> Checking for C library dl... (cached) yes >> Checking for C library util... (cached) yes >> Checking for C library m... (cached) yes >> Checking for C library python2.7... (cached) yes >> Checking for accept(0,0,0) in C++ library None... (cached) yes >> Checking for zlibVersion() in C++ library z... (cached) yes >> Checking for clock_nanosleep(0,0,NULL,NULL) in C library None... (cached) >> no >> Checking for clock_nanosleep(0,0,NULL,NULL) in C library rt... (cached) yes >> Checking for C header file fenv.h... (cached) yes >> Reading SConsopts >> Building in /home/gblack/m5/repos/gem5.sefs/build/ALPHA >> Using saved variables file >> /home/gblack/m5/repos/gem5.sefs/build/variables/ALPHA >> Building in /home/gblack/m5/repos/gem5.sefs/build/ALPHA_MOESI_hammer >> Using saved variables file >> /home/gblack/m5/repos/gem5.sefs/build/variables/ALPHA_MOESI_hammer >> Building in /home/gblack/m5/repos/gem5.sefs/build/ARM >> Using saved variables file >> /home/gblack/m5/repos/gem5.sefs/build/variables/ARM >> Building in /home/gblack/m5/repos/gem5.sefs/build/MIPS >> Using saved variables file >> /home/gblack/m5/repos/gem5.sefs/build/variables/MIPS >> Building in /home/gblack/m5/repos/gem5.sefs/build/POWER >> Using saved variables file >> /home/gblack/m5/repos/gem5.sefs/build/variables/POWER >> Building in /home/gblack/m5/repos/gem5.sefs/build/SPARC >> Using saved variables file >> /home/gblack/m5/repos/gem5.sefs/build/variables/SPARC >> Building in /home/gblack/m5/repos/gem5.sefs/build/X86 >> Using saved variables file >> /home/gblack/m5/repos/gem5.sefs/build/variables/X86 >> scons: done reading SConscript files. >> scons: Building targets ... >> ***** >> >> build/ALPHA/tests/opt/quick/fs/10.linux-boot/alpha/linux/tsunami-simple-atomic >> passed. >> >> ***** >> >> build/ALPHA/tests/opt/quick/fs/10.linux-boot/alpha/linux/tsunami-simple-atomic-dual >> passed. >> >> ***** >> >> build/ALPHA/tests/opt/quick/fs/10.linux-boot/alpha/linux/tsunami-simple-timing >> passed. >> >> ***** >> >> build/ALPHA/tests/opt/quick/fs/10.linux-boot/alpha/linux/tsunami-simple-timing-dual >> passed. >> >> ***** >> >> build/ALPHA/tests/opt/quick/fs/80.netperf-stream/alpha/linux/twosys-tsunami-simple-atomic >> passed. >> >> ***** build/ALPHA/tests/opt/quick/se/00.hello/alpha/linux/inorder-timing >> passed. >> >> ***** build/ALPHA/tests/opt/quick/se/00.hello/alpha/linux/o3-timing passed. >> >> ***** build/ALPHA/tests/opt/quick/se/00.hello/alpha/linux/simple-atomic >> passed. >> >> ***** build/ALPHA/tests/opt/quick/se/00.hello/alpha/linux/simple-timing >> passed. >> >> ***** >> build/ALPHA/tests/opt/quick/se/00.hello/alpha/linux/simple-timing-ruby >> passed. >> >> ***** build/ALPHA/tests/opt/quick/se/00.hello/alpha/tru64/o3-timing passed. >> >> ***** build/ALPHA/tests/opt/quick/se/00.hello/alpha/tru64/simple-atomic >> passed. >> >> ***** build/ALPHA/tests/opt/quick/se/00.hello/alpha/tru64/simple-timing >> passed. >> >> ***** >> build/ALPHA/tests/opt/quick/se/00.hello/alpha/tru64/simple-timing-ruby >> passed. >> >> ***** >> build/ALPHA/tests/opt/quick/se/01.hello-2T-smt/alpha/linux/o3-timing >> passed. >> >> ***** >> build/ALPHA/tests/opt/quick/se/20.eio-short/alpha/eio/simple-atomic passed. >> >> ***** >> build/ALPHA/tests/opt/quick/se/20.eio-short/alpha/eio/simple-timing passed. >> >> ***** >> build/ALPHA/tests/opt/quick/se/30.eio-mp/alpha/eio/simple-atomic-mp passed. >> >> ***** >> build/ALPHA/tests/opt/quick/se/30.eio-mp/alpha/eio/simple-timing-mp passed. >> >> ***** build/ALPHA/tests/opt/quick/se/50.memtest/alpha/linux/memtest passed. >> >> ***** build/ALPHA/tests/opt/quick/se/50.memtest/alpha/linux/memtest-ruby >> passed. >> >> ***** >> build/ALPHA/tests/opt/quick/se/60.rubytest/alpha/linux/rubytest-ruby >> passed. >> >> ***** >> >> build/ALPHA_MOESI_hammer/tests/opt/quick/se/00.hello/alpha/linux/simple-timing-ruby-MOESI_hammer >> passed. >> >> ***** >> >> build/ALPHA_MOESI_hammer/tests/opt/quick/se/00.hello/alpha/tru64/simple-timing-ruby-MOESI_hammer >> passed. >> >> ***** >> >> build/ALPHA_MOESI_hammer/tests/opt/quick/se/50.memtest/alpha/linux/memtest-ruby-MOESI_hammer >> passed. >> >> ***** >> >> build/ALPHA_MOESI_hammer/tests/opt/quick/se/60.rubytest/alpha/linux/rubytest-ruby-MOESI_hammer >> passed. >> >> ***** >> build/ARM/tests/opt/quick/fs/10.linux-boot/arm/linux/realview-simple-atomic >> passed. >> >> ***** >> >> build/ARM/tests/opt/quick/fs/10.linux-boot/arm/linux/realview-simple-atomic-dual >> passed. >> >> ***** >> build/ARM/tests/opt/quick/fs/10.linux-boot/arm/linux/realview-simple-timing >> passed. >> >> ***** >> >> build/ARM/tests/opt/quick/fs/10.linux-boot/arm/linux/realview-simple-timing-dual >> passed. >> >> ***** build/ARM/tests/opt/quick/se/00.hello/arm/linux/o3-timing passed. >> >> ***** build/ARM/tests/opt/quick/se/00.hello/arm/linux/simple-atomic passed. >> >> ***** build/ARM/tests/opt/quick/se/00.hello/arm/linux/simple-timing passed. >> >> ***** build/MIPS/tests/opt/quick/se/00.hello/mips/linux/inorder-timing >> passed. >> >> ***** build/MIPS/tests/opt/quick/se/00.hello/mips/linux/o3-timing passed. >> >> ***** build/MIPS/tests/opt/quick/se/00.hello/mips/linux/simple-atomic >> passed. >> >> ***** build/MIPS/tests/opt/quick/se/00.hello/mips/linux/simple-timing >> passed. >> >> ***** >> build/MIPS/tests/opt/quick/se/00.hello/mips/linux/simple-timing-ruby >> passed. >> >> ***** build/POWER/tests/opt/quick/se/00.hello/power/linux/o3-timing passed. >> >> ***** build/POWER/tests/opt/quick/se/00.hello/power/linux/simple-atomic >> passed. >> >> ***** build/SPARC/tests/opt/quick/se/00.hello/sparc/linux/inorder-timing >> passed. >> >> ***** build/SPARC/tests/opt/quick/se/00.hello/sparc/linux/simple-atomic >> passed. >> >> ***** build/SPARC/tests/opt/quick/se/00.hello/sparc/linux/simple-timing >> passed. >> >> ***** >> build/SPARC/tests/opt/quick/se/00.hello/sparc/linux/simple-timing-ruby >> passed. >> >> ***** >> build/SPARC/tests/opt/quick/se/02.insttest/sparc/linux/inorder-timing >> passed. >> >> ***** build/SPARC/tests/opt/quick/se/02.insttest/sparc/linux/o3-timing >> passed. >> >> ***** >> build/SPARC/tests/opt/quick/se/02.insttest/sparc/linux/simple-atomic >> passed. >> >> ***** >> build/SPARC/tests/opt/quick/se/02.insttest/sparc/linux/simple-timing >> passed. >> >> ***** >> >> build/SPARC/tests/opt/quick/se/40.m5threads-test-atomic/sparc/linux/o3-timing-mp >> passed. >> >> ***** >> >> build/SPARC/tests/opt/quick/se/40.m5threads-test-atomic/sparc/linux/simple-atomic-mp >> passed. >> >> ***** >> >> build/SPARC/tests/opt/quick/se/40.m5threads-test-atomic/sparc/linux/simple-timing-mp >> passed. >> >> ***** >> build/X86/tests/opt/quick/fs/10.linux-boot/x86/linux/pc-simple-atomic >> passed. >> >> ***** >> build/X86/tests/opt/quick/fs/10.linux-boot/x86/linux/pc-simple-timing >> passed. >> >> ***** build/X86/tests/opt/quick/se/00.hello/x86/linux/o3-timing passed. >> >> ***** build/X86/tests/opt/quick/se/00.hello/x86/linux/simple-atomic passed. >> >> ***** build/X86/tests/opt/quick/se/00.hello/x86/linux/simple-timing passed. >> >> ***** build/X86/tests/opt/quick/se/00.hello/x86/linux/simple-timing-ruby >> passed. >> >> scons: done building targets. >> >> On 11/18/11 11:02, Ali Saidi wrote: >> > I'll be amazingly busy for the next couple of weeks. >> > >> > Ali >> > >> > On Fri, 18 Nov 2011 02:42:44 -0800, Gabe Black <[email protected]> >> > wrote: >> >> Hi folks. I have all of the preprocessor FULL_SYSTEMs replaced with C++ >> >> constant FullSystems (except the one where FULL_SYSTEM is assigned to >> >> FullSystem) and have passed all the quick regressions. I just started a >> >> run of all the regressions, and expect it will take a day to run at >> >> minimum. I'll then turn all the patches I have into commits, push them >> >> into my SE/FS repo, and pull in the dev repo and merge. The merge commit >> >> will go in the SE/FS repo. At this point, SE and FS could theoretically >> >> be run from the same binary if FullSystem was changed from a constant to >> >> a variable/parameter, but since it isn't they can't. The scripts would >> >> also have to be updated significantly for that to happen. Because all >> >> functions, classes, and member variables are available in SE and FS mode >> >> but not all will do something sensible/work/not segfault in both modes, >> >> there are a few more possibilities to shoot yourself in the foot in my >> >> repository. >> >> >> >> Does this seem like a good point to get feedback and fold things into >> >> the main repository? My next step(s) will probably involve making >> >> FullSystem a global variable (or function?) set with a parameter and >> >> make the scripts set it, but not to go all the way and get rid of >> >> separate builds for SE and FS even though they'll be the same thing. >> >> There are going to be details like the regressions/regression scripts >> >> which will need to be updated first, and probably the mode will need to >> >> be worked into the quick/long/opt/fast/debug path scheme. The next good >> >> spot will likely be in there somewhere. >> >> >> >> If this is a bad time for logistical reasons (looming conference >> >> deadline, other large change nearly ready, etc) I can hold off for a >> >> little while but still use this as a merge point. >> >> >> >> Gabe >> >> _______________________________________________ >> >> gem5-dev mailing list >> >> [email protected] >> >> http://m5sim.org/mailman/listinfo/gem5-dev >> > >> > _______________________________________________ >> > gem5-dev mailing list >> > [email protected] >> > http://m5sim.org/mailman/listinfo/gem5-dev >> >> _______________________________________________ >> gem5-dev mailing list >> [email protected] >> http://m5sim.org/mailman/listinfo/gem5-dev >> > _______________________________________________ > gem5-dev mailing list > [email protected] > http://m5sim.org/mailman/listinfo/gem5-dev > _______________________________________________ gem5-dev mailing list [email protected] http://m5sim.org/mailman/listinfo/gem5-dev
