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

Reply via email to