Re: [gem5-dev] Review Request 2965: rename System.{hh, cc} to RubySystem.{hh, cc}
--- This is an automatically generated e-mail. To reply, visit: http://reviews.gem5.org/r/2965/#review7175 --- Any last comments? I plan to ship this before the EoD today. - Tony Gutierrez On July 13, 2015, noon, David Hashe wrote: > > --- > This is an automatically generated e-mail. To reply, visit: > http://reviews.gem5.org/r/2965/ > --- > > (Updated July 13, 2015, noon) > > > Review request for Default. > > > Repository: gem5 > > > Description > --- > > Changeset 10923:8bdfe8dd9c2b > --- > rename System.{hh,cc} to RubySystem.{hh,cc} > > The eventual aim of this change is to pass RubySystem pointers through to > objects generated from the SLICC protocol code. > > Because some of these objects need to dereference their RubySystem pointers, > they need access to the System.hh header file. > > In src/mem/ruby/SConscript, the MakeInclude function creates single-line > header files in the build directory that do nothing except include the > corresponding header file from the source tree. > > However, SLICC also generates a list of header files from its symbol table, > and writes it to mem/protocol/Types.hh in the build directory. This code > assumes that the header file name is the same as the class name. > > The end result of this is the many of the generated slicc files try to > include RubySystem.hh, when the file they really need is System.hh. The path > of least resistence is just to rename System.hh to RubySystem.hh. > > > Diffs > - > > src/mem/ruby/system/RubySystem.cc PRE-CREATION > src/mem/slicc/symbols/StateMachine.py > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/system/System.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/system/System.hh 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/system/Sequencer.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/system/SConscript 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/system/RubySystem.py 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/structures/CacheMemory.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/structures/BankedArray.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/structures/BankedArray.hh > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/structures/DirectoryMemory.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/structures/Prefetcher.hh > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/system/RubySystem.hh PRE-CREATION > src/mem/ruby/system/RubyPort.hh 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/system/DMASequencer.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/system/DMASequencer.hh > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/system/CacheRecorder.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/structures/WireBuffer.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/structures/TimerTable.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/structures/RubyMemoryControl.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/structures/RubyMemoryControl.hh > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/structures/Prefetcher.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/slicc/symbols/Type.py 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/slicc_interface/AbstractController.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/network/simple/Throttle.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/network/simple/Throttle.hh > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/network/simple/SimpleNetwork.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/network/garnet/fixed-pipeline/OutVcState_d.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/network/Network.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/network/MessageBuffer.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/filters/NonCountingBloomFilter.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/filters/MultiGrainBloomFilter.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/filters/LSB_CountingBloomFilter.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/filters/BulkBloomFilter.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/filters/BlockBloomFilter.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 >
Re: [gem5-dev] Review Request 2965: rename System.{hh, cc} to RubySystem.{hh, cc}
--- This is an automatically generated e-mail. To reply, visit: http://reviews.gem5.org/r/2965/#review7117 --- Ship it! I had been putting off this review since it touched so many files. I didn't realize it was so simple ;). - Jason Power On July 13, 2015, 7 p.m., David Hashe wrote: > > --- > This is an automatically generated e-mail. To reply, visit: > http://reviews.gem5.org/r/2965/ > --- > > (Updated July 13, 2015, 7 p.m.) > > > Review request for Default. > > > Repository: gem5 > > > Description > --- > > Changeset 10923:8bdfe8dd9c2b > --- > rename System.{hh,cc} to RubySystem.{hh,cc} > > The eventual aim of this change is to pass RubySystem pointers through to > objects generated from the SLICC protocol code. > > Because some of these objects need to dereference their RubySystem pointers, > they need access to the System.hh header file. > > In src/mem/ruby/SConscript, the MakeInclude function creates single-line > header files in the build directory that do nothing except include the > corresponding header file from the source tree. > > However, SLICC also generates a list of header files from its symbol table, > and writes it to mem/protocol/Types.hh in the build directory. This code > assumes that the header file name is the same as the class name. > > The end result of this is the many of the generated slicc files try to > include RubySystem.hh, when the file they really need is System.hh. The path > of least resistence is just to rename System.hh to RubySystem.hh. > > > Diffs > - > > src/mem/ruby/system/RubySystem.cc PRE-CREATION > src/mem/slicc/symbols/StateMachine.py > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/system/System.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/system/System.hh 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/system/Sequencer.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/system/SConscript 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/system/RubySystem.py 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/structures/CacheMemory.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/structures/BankedArray.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/structures/BankedArray.hh > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/structures/DirectoryMemory.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/structures/Prefetcher.hh > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/system/RubySystem.hh PRE-CREATION > src/mem/ruby/system/RubyPort.hh 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/system/DMASequencer.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/system/DMASequencer.hh > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/system/CacheRecorder.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/structures/WireBuffer.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/structures/TimerTable.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/structures/RubyMemoryControl.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/structures/RubyMemoryControl.hh > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/structures/Prefetcher.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/slicc/symbols/Type.py 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/slicc_interface/AbstractController.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/network/simple/Throttle.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/network/simple/Throttle.hh > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/network/simple/SimpleNetwork.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/network/garnet/fixed-pipeline/OutVcState_d.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/network/Network.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/network/MessageBuffer.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/filters/NonCountingBloomFilter.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/filters/MultiGrainBloomFilter.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/filters/LSB_CountingBloomFilter.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/filters/BulkBloomFilter.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/filters/BlockBloomFilter.cc >
Re: [gem5-dev] Review Request 2965: rename System.{hh, cc} to RubySystem.{hh, cc}
--- This is an automatically generated e-mail. To reply, visit: http://reviews.gem5.org/r/2965/#review7107 --- Are they comments on this? We'd like to ship this soon. - Tony Gutierrez On July 13, 2015, noon, David Hashe wrote: > > --- > This is an automatically generated e-mail. To reply, visit: > http://reviews.gem5.org/r/2965/ > --- > > (Updated July 13, 2015, noon) > > > Review request for Default. > > > Repository: gem5 > > > Description > --- > > Changeset 10923:8bdfe8dd9c2b > --- > rename System.{hh,cc} to RubySystem.{hh,cc} > > The eventual aim of this change is to pass RubySystem pointers through to > objects generated from the SLICC protocol code. > > Because some of these objects need to dereference their RubySystem pointers, > they need access to the System.hh header file. > > In src/mem/ruby/SConscript, the MakeInclude function creates single-line > header files in the build directory that do nothing except include the > corresponding header file from the source tree. > > However, SLICC also generates a list of header files from its symbol table, > and writes it to mem/protocol/Types.hh in the build directory. This code > assumes that the header file name is the same as the class name. > > The end result of this is the many of the generated slicc files try to > include RubySystem.hh, when the file they really need is System.hh. The path > of least resistence is just to rename System.hh to RubySystem.hh. > > > Diffs > - > > src/mem/ruby/system/RubySystem.cc PRE-CREATION > src/mem/slicc/symbols/StateMachine.py > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/system/System.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/system/System.hh 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/system/Sequencer.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/system/SConscript 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/system/RubySystem.py 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/structures/CacheMemory.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/structures/BankedArray.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/structures/BankedArray.hh > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/structures/DirectoryMemory.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/structures/Prefetcher.hh > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/system/RubySystem.hh PRE-CREATION > src/mem/ruby/system/RubyPort.hh 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/system/DMASequencer.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/system/DMASequencer.hh > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/system/CacheRecorder.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/structures/WireBuffer.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/structures/TimerTable.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/structures/RubyMemoryControl.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/structures/RubyMemoryControl.hh > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/structures/Prefetcher.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/slicc/symbols/Type.py 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/slicc_interface/AbstractController.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/network/simple/Throttle.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/network/simple/Throttle.hh > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/network/simple/SimpleNetwork.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/network/garnet/fixed-pipeline/OutVcState_d.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/network/Network.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/network/MessageBuffer.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/filters/NonCountingBloomFilter.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/filters/MultiGrainBloomFilter.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/filters/LSB_CountingBloomFilter.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/filters/BulkBloomFilter.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/filters/BlockBloomFilter.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/common/DataBlock.cc
Re: [gem5-dev] Review Request 2965: rename System.{hh, cc} to RubySystem.{hh, cc}
We can do either hg mv, or hg rm and hg add. What is preferred? From: Nilay Vaish [mailto:nore...@gem5.org] On Behalf Of Nilay Vaish Sent: Thursday, September 03, 2015 1:51 PM To: Nilay Vaish; Gutierrez, Anthony; Hashe, David; Default Subject: Re: Review Request 2965: rename System.{hh,cc} to RubySystem.{hh,cc} This is an automatically generated e-mail. To reply, visit: http://reviews.gem5.org/r/2965/ On September 3rd, 2015, 6:36 p.m. UTC, Tony Gutierrez wrote: Are they comments on this? We'd like to ship this soon. Has hg mv been used to move those two files? - Nilay On July 13th, 2015, 7 p.m. UTC, David Hashe wrote: Review request for Default. By David Hashe. Updated July 13, 2015, 7 p.m. Repository: gem5 Description Changeset 10923:8bdfe8dd9c2b --- rename System.{hh,cc} to RubySystem.{hh,cc} The eventual aim of this change is to pass RubySystem pointers through to objects generated from the SLICC protocol code. Because some of these objects need to dereference their RubySystem pointers, they need access to the System.hh header file. In src/mem/ruby/SConscript, the MakeInclude function creates single-line header files in the build directory that do nothing except include the corresponding header file from the source tree. However, SLICC also generates a list of header files from its symbol table, and writes it to mem/protocol/Types.hh in the build directory. This code assumes that the header file name is the same as the class name. The end result of this is the many of the generated slicc files try to include RubySystem.hh, when the file they really need is System.hh. The path of least resistence is just to rename System.hh to RubySystem.hh. Diffs * src/mem/ruby/system/RubySystem.cc (PRE-CREATION) * src/mem/slicc/symbols/StateMachine.py (5ee72f4b293152dd0c75ab402a49696d6903e604) * src/mem/ruby/system/System.cc (5ee72f4b293152dd0c75ab402a49696d6903e604) * src/mem/ruby/system/System.hh (5ee72f4b293152dd0c75ab402a49696d6903e604) * src/mem/ruby/system/Sequencer.cc (5ee72f4b293152dd0c75ab402a49696d6903e604) * src/mem/ruby/system/SConscript (5ee72f4b293152dd0c75ab402a49696d6903e604) * src/mem/ruby/system/RubySystem.py (5ee72f4b293152dd0c75ab402a49696d6903e604) * src/mem/ruby/structures/CacheMemory.cc (5ee72f4b293152dd0c75ab402a49696d6903e604) * src/mem/ruby/structures/BankedArray.cc (5ee72f4b293152dd0c75ab402a49696d6903e604) * src/mem/ruby/structures/BankedArray.hh (5ee72f4b293152dd0c75ab402a49696d6903e604) * src/mem/ruby/structures/DirectoryMemory.cc (5ee72f4b293152dd0c75ab402a49696d6903e604) * src/mem/ruby/structures/Prefetcher.hh (5ee72f4b293152dd0c75ab402a49696d6903e604) * src/mem/ruby/system/RubySystem.hh (PRE-CREATION) * src/mem/ruby/system/RubyPort.hh (5ee72f4b293152dd0c75ab402a49696d6903e604) * src/mem/ruby/system/DMASequencer.cc (5ee72f4b293152dd0c75ab402a49696d6903e604) * src/mem/ruby/system/DMASequencer.hh (5ee72f4b293152dd0c75ab402a49696d6903e604) * src/mem/ruby/system/CacheRecorder.cc (5ee72f4b293152dd0c75ab402a49696d6903e604) * src/mem/ruby/structures/WireBuffer.cc (5ee72f4b293152dd0c75ab402a49696d6903e604) * src/mem/ruby/structures/TimerTable.cc (5ee72f4b293152dd0c75ab402a49696d6903e604) * src/mem/ruby/structures/RubyMemoryControl.cc (5ee72f4b293152dd0c75ab402a49696d6903e604) * src/mem/ruby/structures/RubyMemoryControl.hh (5ee72f4b293152dd0c75ab402a49696d6903e604) * src/mem/ruby/structures/Prefetcher.cc (5ee72f4b293152dd0c75ab402a49696d6903e604) * src/mem/slicc/symbols/Type.py (5ee72f4b293152dd0c75ab402a49696d6903e604) * src/mem/ruby/slicc_interface/AbstractController.cc (5ee72f4b293152dd0c75ab402a49696d6903e604) * src/mem/ruby/network/simple/Throttle.cc (5ee72f4b293152dd0c75ab402a49696d6903e604) * src/mem/ruby/network/simple/Throttle.hh (5ee72f4b293152dd0c75ab402a49696d6903e604) * src/mem/ruby/network/simple/SimpleNetwork.cc (5ee72f4b293152dd0c75ab402a49696d6903e604) * src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.cc (5ee72f4b293152dd0c75ab402a49696d6903e604) * src/mem/ruby/network/garnet/fixed-pipeline/OutVcState_d.cc (5ee72f4b293152dd0c75ab402a49696d6903e604) * src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.cc (5ee72f4b293152dd0c75ab402a49696d6903e604) * src/mem/ruby/network/Network.cc (5ee72f4b293152dd0c75ab402a49696d6903e604) * src/mem/ruby/network/MessageBuffer.cc (5ee72f4b293152dd0c75ab402a49696d6903e604) * src/mem/ruby/filters/NonCountingBloomFilter.cc (5ee72f4b293152dd0c75ab402a49696d6903e604) * src/mem/ruby/filters/MultiGrainBloomFilter.cc (5ee72f4b293152dd0c75ab402a49696d6903e604) * src/mem/ruby/filters/LSB_CountingBloomFilter.cc (5ee72f4b293152dd0c75ab402a49696d6903e604) * src/mem/ruby/filters/BulkBloomFilter.cc (5ee72f4b293152dd0c75ab402a49696d6903e604) * src/mem/ruby/filters/BlockBloomFilter.cc
Re: [gem5-dev] Review Request 2965: rename System.{hh, cc} to RubySystem.{hh, cc}
> On Sept. 3, 2015, 11:36 a.m., Tony Gutierrez wrote: > > Are they comments on this? We'd like to ship this soon. > > Nilay Vaish wrote: > Has hg mv been used to move those two files? We can do hg mv or hg rm/hg add. What is preferred? - Tony --- This is an automatically generated e-mail. To reply, visit: http://reviews.gem5.org/r/2965/#review7107 --- On July 13, 2015, noon, David Hashe wrote: > > --- > This is an automatically generated e-mail. To reply, visit: > http://reviews.gem5.org/r/2965/ > --- > > (Updated July 13, 2015, noon) > > > Review request for Default. > > > Repository: gem5 > > > Description > --- > > Changeset 10923:8bdfe8dd9c2b > --- > rename System.{hh,cc} to RubySystem.{hh,cc} > > The eventual aim of this change is to pass RubySystem pointers through to > objects generated from the SLICC protocol code. > > Because some of these objects need to dereference their RubySystem pointers, > they need access to the System.hh header file. > > In src/mem/ruby/SConscript, the MakeInclude function creates single-line > header files in the build directory that do nothing except include the > corresponding header file from the source tree. > > However, SLICC also generates a list of header files from its symbol table, > and writes it to mem/protocol/Types.hh in the build directory. This code > assumes that the header file name is the same as the class name. > > The end result of this is the many of the generated slicc files try to > include RubySystem.hh, when the file they really need is System.hh. The path > of least resistence is just to rename System.hh to RubySystem.hh. > > > Diffs > - > > src/mem/ruby/system/RubySystem.cc PRE-CREATION > src/mem/slicc/symbols/StateMachine.py > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/system/System.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/system/System.hh 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/system/Sequencer.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/system/SConscript 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/system/RubySystem.py 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/structures/CacheMemory.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/structures/BankedArray.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/structures/BankedArray.hh > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/structures/DirectoryMemory.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/structures/Prefetcher.hh > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/system/RubySystem.hh PRE-CREATION > src/mem/ruby/system/RubyPort.hh 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/system/DMASequencer.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/system/DMASequencer.hh > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/system/CacheRecorder.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/structures/WireBuffer.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/structures/TimerTable.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/structures/RubyMemoryControl.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/structures/RubyMemoryControl.hh > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/structures/Prefetcher.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/slicc/symbols/Type.py 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/slicc_interface/AbstractController.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/network/simple/Throttle.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/network/simple/Throttle.hh > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/network/simple/SimpleNetwork.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/network/garnet/fixed-pipeline/OutVcState_d.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/network/Network.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/network/MessageBuffer.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/filters/NonCountingBloomFilter.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/filters/MultiGrainBloomFilter.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/filters/LSB_CountingBloomFilter.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 >
Re: [gem5-dev] Review Request 2965: rename System.{hh, cc} to RubySystem.{hh, cc}
On Thu, 3 Sep 2015, Tony Gutierrez wrote: On Sept. 3, 2015, 11:36 a.m., Tony Gutierrez wrote: Are they comments on this? We'd like to ship this soon. Nilay Vaish wrote: Has hg mv been used to move those two files? We can do hg mv or hg rm/hg add. What is preferred? hg rm/hg add would lose all the history. Certainly hg mv should be preferred. -- Nilay ___ gem5-dev mailing list gem5-dev@gem5.org http://m5sim.org/mailman/listinfo/gem5-dev
Re: [gem5-dev] Review Request 2965: rename System.{hh, cc} to RubySystem.{hh, cc}
> On Sept. 3, 2015, 6:36 p.m., Tony Gutierrez wrote: > > Are they comments on this? We'd like to ship this soon. Has hg mv been used to move those two files? - Nilay --- This is an automatically generated e-mail. To reply, visit: http://reviews.gem5.org/r/2965/#review7107 --- On July 13, 2015, 7 p.m., David Hashe wrote: > > --- > This is an automatically generated e-mail. To reply, visit: > http://reviews.gem5.org/r/2965/ > --- > > (Updated July 13, 2015, 7 p.m.) > > > Review request for Default. > > > Repository: gem5 > > > Description > --- > > Changeset 10923:8bdfe8dd9c2b > --- > rename System.{hh,cc} to RubySystem.{hh,cc} > > The eventual aim of this change is to pass RubySystem pointers through to > objects generated from the SLICC protocol code. > > Because some of these objects need to dereference their RubySystem pointers, > they need access to the System.hh header file. > > In src/mem/ruby/SConscript, the MakeInclude function creates single-line > header files in the build directory that do nothing except include the > corresponding header file from the source tree. > > However, SLICC also generates a list of header files from its symbol table, > and writes it to mem/protocol/Types.hh in the build directory. This code > assumes that the header file name is the same as the class name. > > The end result of this is the many of the generated slicc files try to > include RubySystem.hh, when the file they really need is System.hh. The path > of least resistence is just to rename System.hh to RubySystem.hh. > > > Diffs > - > > src/mem/ruby/system/RubySystem.cc PRE-CREATION > src/mem/slicc/symbols/StateMachine.py > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/system/System.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/system/System.hh 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/system/Sequencer.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/system/SConscript 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/system/RubySystem.py 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/structures/CacheMemory.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/structures/BankedArray.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/structures/BankedArray.hh > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/structures/DirectoryMemory.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/structures/Prefetcher.hh > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/system/RubySystem.hh PRE-CREATION > src/mem/ruby/system/RubyPort.hh 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/system/DMASequencer.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/system/DMASequencer.hh > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/system/CacheRecorder.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/structures/WireBuffer.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/structures/TimerTable.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/structures/RubyMemoryControl.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/structures/RubyMemoryControl.hh > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/structures/Prefetcher.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/slicc/symbols/Type.py 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/slicc_interface/AbstractController.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/network/simple/Throttle.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/network/simple/Throttle.hh > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/network/simple/SimpleNetwork.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/network/garnet/fixed-pipeline/OutVcState_d.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/network/Network.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/network/MessageBuffer.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/filters/NonCountingBloomFilter.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/filters/MultiGrainBloomFilter.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/filters/LSB_CountingBloomFilter.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 > src/mem/ruby/filters/BulkBloomFilter.cc > 5ee72f4b293152dd0c75ab402a49696d6903e604 >
[gem5-dev] Review Request 2965: rename System.{hh, cc} to RubySystem.{hh, cc}
--- This is an automatically generated e-mail. To reply, visit: http://reviews.gem5.org/r/2965/ --- Review request for Default. Repository: gem5 Description --- Changeset 10923:8bdfe8dd9c2b --- rename System.{hh,cc} to RubySystem.{hh,cc} The eventual aim of this change is to pass RubySystem pointers through to objects generated from the SLICC protocol code. Because some of these objects need to dereference their RubySystem pointers, they need access to the System.hh header file. In src/mem/ruby/SConscript, the MakeInclude function creates single-line header files in the build directory that do nothing except include the corresponding header file from the source tree. However, SLICC also generates a list of header files from its symbol table, and writes it to mem/protocol/Types.hh in the build directory. This code assumes that the header file name is the same as the class name. The end result of this is the many of the generated slicc files try to include RubySystem.hh, when the file they really need is System.hh. The path of least resistence is just to rename System.hh to RubySystem.hh. Diffs - src/mem/ruby/system/RubySystem.cc PRE-CREATION src/mem/slicc/symbols/StateMachine.py 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/system/System.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/system/System.hh 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/system/Sequencer.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/system/SConscript 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/system/RubySystem.py 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/structures/CacheMemory.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/structures/BankedArray.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/structures/BankedArray.hh 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/structures/DirectoryMemory.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/structures/Prefetcher.hh 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/system/RubySystem.hh PRE-CREATION src/mem/ruby/system/RubyPort.hh 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/system/DMASequencer.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/system/DMASequencer.hh 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/system/CacheRecorder.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/structures/WireBuffer.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/structures/TimerTable.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/structures/RubyMemoryControl.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/structures/RubyMemoryControl.hh 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/structures/Prefetcher.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/slicc/symbols/Type.py 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/slicc_interface/AbstractController.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/network/simple/Throttle.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/network/simple/Throttle.hh 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/network/simple/SimpleNetwork.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/network/garnet/fixed-pipeline/OutVcState_d.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/network/Network.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/network/MessageBuffer.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/filters/NonCountingBloomFilter.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/filters/MultiGrainBloomFilter.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/filters/LSB_CountingBloomFilter.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/filters/BulkBloomFilter.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/filters/BlockBloomFilter.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/common/DataBlock.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/common/Address.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 src/cpu/testers/rubytest/RubyTester.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 src/cpu/testers/rubytest/Check.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 Diff: http://reviews.gem5.org/r/2965/diff/ Testing --- Thanks, David Hashe ___ gem5-dev mailing list gem5-dev@gem5.org http://m5sim.org/mailman/listinfo/gem5-dev
Re: [gem5-dev] Review Request 2965: rename System.{hh, cc} to RubySystem.{hh, cc}
--- This is an automatically generated e-mail. To reply, visit: http://reviews.gem5.org/r/2965/#review6758 --- I am as such fine with the patch. I myself have faced similar problem with the naming of the header file. Can you expand on your eventual aim? I am trying to understand the need for spreading the ruby system pointer around. Please note that classic memory system has no notion of a memory system pointer. I think ruby should also try to avoid having a memory system pointer in each object. - Nilay Vaish On July 13, 2015, 7 p.m., David Hashe wrote: --- This is an automatically generated e-mail. To reply, visit: http://reviews.gem5.org/r/2965/ --- (Updated July 13, 2015, 7 p.m.) Review request for Default. Repository: gem5 Description --- Changeset 10923:8bdfe8dd9c2b --- rename System.{hh,cc} to RubySystem.{hh,cc} The eventual aim of this change is to pass RubySystem pointers through to objects generated from the SLICC protocol code. Because some of these objects need to dereference their RubySystem pointers, they need access to the System.hh header file. In src/mem/ruby/SConscript, the MakeInclude function creates single-line header files in the build directory that do nothing except include the corresponding header file from the source tree. However, SLICC also generates a list of header files from its symbol table, and writes it to mem/protocol/Types.hh in the build directory. This code assumes that the header file name is the same as the class name. The end result of this is the many of the generated slicc files try to include RubySystem.hh, when the file they really need is System.hh. The path of least resistence is just to rename System.hh to RubySystem.hh. Diffs - src/mem/ruby/system/RubySystem.cc PRE-CREATION src/mem/slicc/symbols/StateMachine.py 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/system/System.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/system/System.hh 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/system/Sequencer.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/system/SConscript 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/system/RubySystem.py 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/structures/CacheMemory.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/structures/BankedArray.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/structures/BankedArray.hh 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/structures/DirectoryMemory.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/structures/Prefetcher.hh 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/system/RubySystem.hh PRE-CREATION src/mem/ruby/system/RubyPort.hh 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/system/DMASequencer.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/system/DMASequencer.hh 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/system/CacheRecorder.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/structures/WireBuffer.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/structures/TimerTable.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/structures/RubyMemoryControl.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/structures/RubyMemoryControl.hh 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/structures/Prefetcher.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/slicc/symbols/Type.py 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/slicc_interface/AbstractController.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/network/simple/Throttle.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/network/simple/Throttle.hh 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/network/simple/SimpleNetwork.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/network/garnet/fixed-pipeline/OutVcState_d.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/network/Network.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/network/MessageBuffer.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/filters/NonCountingBloomFilter.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/filters/MultiGrainBloomFilter.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/filters/LSB_CountingBloomFilter.cc
Re: [gem5-dev] Review Request 2965: rename System.{hh, cc} to RubySystem.{hh, cc}
On July 13, 2015, 8:10 p.m., Nilay Vaish wrote: I am as such fine with the patch. I myself have faced similar problem with the naming of the header file. Can you expand on your eventual aim? I am trying to understand the need for spreading the ruby system pointer around. Please note that classic memory system has no notion of a memory system pointer. I think ruby should also try to avoid having a memory system pointer in each object. The main problem with Ruby for having multiple instances is that there are static variables that end up being shared if there are multiple RubySystem objects. Currently, each time a Controller or DirectoryMemory object is instantiated it increments a static counter indicating how many copies of that object exist. The interconnection network uses this information extensively in order to iterate over members of the network and route packets. Effectively, each Controller has an ID in the range of 0 to the number of Controllers. One major problem is that the IDs are repeated for each RubySystem. So, with two RubySystems there are two controllers with ID 0, 1, etc. which leads to incorrect routing on the interconnection network (asserts in network/Topology.cc catch this, but if those are disabled then that is the result). What my future patches do is relocate these static variables to be members of the RubySystem object. Then, whenever an object needs to know this information, it accesses it through a pointer to the RubySystem that it is a part of. This disambiguates between controllers and eliminates the routing conflicts. In particular, the NetDest object frequently needs to know this information, but since it is not a SimObject, it must be passed a pointer to the RubySystem, which means that any object that needs to create a NetDest object needs access to a RubySystem object. The alternative would have been to make each of the static variables into a vector of their previous values and instead pass around a RubySystemID to each object. However, this has all of the disadvantages of passing pointers with the added pains of keeping information scattered and hard to understand, and not being as extensible. Other than those two options, I don't see any other way to implement what we need without significantly refactoring the interconnection network. Since the RubySystem object already exists, it makes more sense to use it. - David --- This is an automatically generated e-mail. To reply, visit: http://reviews.gem5.org/r/2965/#review6758 --- On July 13, 2015, 7 p.m., David Hashe wrote: --- This is an automatically generated e-mail. To reply, visit: http://reviews.gem5.org/r/2965/ --- (Updated July 13, 2015, 7 p.m.) Review request for Default. Repository: gem5 Description --- Changeset 10923:8bdfe8dd9c2b --- rename System.{hh,cc} to RubySystem.{hh,cc} The eventual aim of this change is to pass RubySystem pointers through to objects generated from the SLICC protocol code. Because some of these objects need to dereference their RubySystem pointers, they need access to the System.hh header file. In src/mem/ruby/SConscript, the MakeInclude function creates single-line header files in the build directory that do nothing except include the corresponding header file from the source tree. However, SLICC also generates a list of header files from its symbol table, and writes it to mem/protocol/Types.hh in the build directory. This code assumes that the header file name is the same as the class name. The end result of this is the many of the generated slicc files try to include RubySystem.hh, when the file they really need is System.hh. The path of least resistence is just to rename System.hh to RubySystem.hh. Diffs - src/mem/ruby/system/RubySystem.cc PRE-CREATION src/mem/slicc/symbols/StateMachine.py 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/system/System.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/system/System.hh 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/system/Sequencer.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/system/SConscript 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/system/RubySystem.py 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/structures/CacheMemory.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/structures/BankedArray.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/structures/BankedArray.hh 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/structures/DirectoryMemory.cc 5ee72f4b293152dd0c75ab402a49696d6903e604 src/mem/ruby/structures/Prefetcher.hh