Open kathlenemagnus-mips opened 3 days ago
@bdutro, Kathlene and I chatted about this effort for a bit and we agree this could live in Mavis (and probably should). We also volunteered you to make the class. :stuck_out_tongue_closed_eyes:
I'd like for Mavis to be able to be constructed with an ISA string instead of a list of included and excluded tags. Internally, it should parse the string, throw an error if the string or set of extensions is invalid, and create a list of included "tags" (a.k.a. extensions). Mavis should also understand what combinations of extensions are supported. For example, you can't enable d
without f
.
I'm thinking I would like the extensions (and whatever requirements they may have) to be defined in JSON. Right now I'm adding additional fields to the existing ISA JSONs, but we could also put that info in its own special JSON(s) if we don't want to mess with the current format. Thoughts?
@bdutro, that sounds good to me. I like the idea of special JSONs to communicate the supported extensions and their requirements. Are we still trying to keep Mavis generic? Or are we okay with Mavis being a "RISC-V decoder" only?
Create a class for managing which extensions are supported, enabled and disabled in Atlas.
The class should be able to do the following: