Hi Nilay, Brad,

I don't love this solution to the MachineType problem. By specifying all of
the machine types statically in the gem5 source, it makes it so the
protocols we use in gem5-gpu must modify files in gem5 to work. As it
currently is implemented, on the Ruby side at least, all of the gem5-gpu
code can stay in EXTRAS, which I think is a good design.

For instance our protocols have both an L1Cache and a GPUL1Cache which are
separate machine types. With this patch, we will have to modify
src/mem/protocol/RubySlicc_Exports.sm to get our protocols to compile.

Maybe there's a way to dynamically extend this enumeration to include other
machine types defined in the *.sm files of the protocol? Or maybe I am
missing something in this patch?

Thanks,
Jason

On Thu Dec 04 2014 at 12:17:11 PM Nilay Vaish via gem5-dev <
[email protected]> wrote:

>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviews.gem5.org/r/2551/
> -----------------------------------------------------------
>
> Review request for Default.
>
>
> Repository: gem5
>
>
> Description
> -------
>
> Changeset 10594:b25131489b95
> ---------------------------
> ruby: slicc: have a static MachineType
> This patch moves from a dynamically defined MachineType to a statically
> defined one.  The need for this patch was felt since a dynamically defined
> type prevents us from having types for which no machine definition may
> exist.
>
> The following changes have been made:
> i. each machine definition now uses a type from the MachineType enumeration
> instead of any random identifier.  This required changing the grammar and
> the
> *.sm files.
>
> ii. MachineType enumeration defined statically in RubySlicc_Exports.sm.
>
>
> Diffs
> -----
>
>   src/mem/protocol/MESI_Two_Level-L1cache.sm fea29fc045ee
>   src/mem/protocol/MESI_Two_Level-L2cache.sm fea29fc045ee
>   src/mem/protocol/MESI_Two_Level-dir.sm fea29fc045ee
>   src/mem/protocol/MESI_Two_Level-dma.sm fea29fc045ee
>   src/mem/protocol/RubySlicc_Exports.sm fea29fc045ee
>   src/mem/slicc/ast/DeclListAST.py fea29fc045ee
>   src/mem/slicc/ast/MachineAST.py fea29fc045ee
>   src/mem/slicc/parser.py fea29fc045ee
>   src/mem/slicc/symbols/SymbolTable.py fea29fc045ee
>   src/mem/slicc/symbols/Type.py fea29fc045ee
>
> Diff: http://reviews.gem5.org/r/2551/diff/
>
>
> Testing
> -------
>
>
> Thanks,
>
> Nilay Vaish
>
> _______________________________________________
> 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