Review Board 2.0.15


ruby: slicc: Dynamically find+declare all MachineTypes

Review Request #2773 - Created May 9, 2015 and updated - Latest diff uploaded

Information
Joel Hestness
gem5
default
Reviewers
Default
Changeset 10832:ba670c48f3c8
---------------------------
ruby: slicc: Dynamically find+declare all MachineTypes

To avoid statically declaring MachineTypes that can be used by Ruby protocols,
modify the SLICC parser to dynamically collect the different machine types
from all the available protocols to declare them in the MachineTypes generated
enum. This change declares the full set of types, but only generates the
controller files for the specified protocol.

Built MI_example and MOESI_hammer in gem5. Also applied a personal patch
that adds MachineType-dependent code to RubyMemoryController, and
successfully built a protocol that does not define machines required by
that that code. Benchmarks run in each build, and MachineType-specific
functionality appears correct.