From e98c3c227da0b7c4a3e11e64eb80386727b3fa1c Mon Sep 17 00:00:00 2001 From: Joel Hestness Date: Tue, 9 Apr 2013 16:25:29 -0500 Subject: [PATCH] Ruby: Add field to slicc machine for generic type This allows you to have (i.e.) an L2 cache that is not named "L2Cache" but is still a GenericMachineType_L2Cache. This is particularly helpful if the protocol has multiple L2 controllers. --- src/mem/slicc/symbols/Type.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/mem/slicc/symbols/Type.py b/src/mem/slicc/symbols/Type.py index 6ee48ba8b..1c2177ce1 100644 --- a/src/mem/slicc/symbols/Type.py +++ b/src/mem/slicc/symbols/Type.py @@ -540,9 +540,11 @@ ConvertMachToGenericMach(MachineType machType) { ''') for enum in self.enums.itervalues(): + genericType = self.enums[enum.ident].get('genericType', + enum.ident) code(''' if (machType == MachineType_${{enum.ident}}) - return GenericMachineType_${{enum.ident}}; + return GenericMachineType_${{genericType}}; ''') code(''' panic("cannot convert to a GenericMachineType");