-
Notifications
You must be signed in to change notification settings - Fork 806
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[RACL] Parse mappings and auto-connect RACL #25749
Conversation
6b1e47c
to
2f84455
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A partial review so far, sorry (just the first two commits)
f73b4bf
to
26c496d
Compare
if instance.get('racl_mappings') is not None: | ||
raise ValueError("Cannot specify both 'racl_mapping' and 'racl_mappings'") | ||
del instance['racl_mapping'] | ||
instance['racl_mappings'] = {None: racl_mapping} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A dictionary with "None" as a key can be confusing. Is there a better name for this, like "default" or some such.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It can but this would add an assumption on how a TLUL interface can be named / or not. I think this one was done in the same way as for the base address. I am happy to change that in a follow up PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I hope you consider adding a default racl object in the top config, and when an IP doesn't assign one we give it the default. This has no name clash issues. Okay in a subsequent PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We agreed on core
being the default.
d0c41f5
to
af93c02
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've just worked through this again and I'm pretty convinced! I know that there are a couple of pending items from @matutem, but I'm very happy when we're ready with them.
Signed-off-by: Robert Schilling <rschilling@rivosinc.com>
Signed-off-by: Robert Schilling <rschilling@rivosinc.com>
Signed-off-by: Robert Schilling <rschilling@rivosinc.com>
Signed-off-by: Robert Schilling <rschilling@rivosinc.com>
Signed-off-by: Robert Schilling <rschilling@rivosinc.com>
Signed-off-by: Robert Schilling <rschilling@rivosinc.com>
Signed-off-by: Robert Schilling <rschilling@rivosinc.com>
Signed-off-by: Robert Schilling <rschilling@rivosinc.com>
Signed-off-by: Robert Schilling <rschilling@rivosinc.com>
Signed-off-by: Robert Schilling <rschilling@rivosinc.com>
Signed-off-by: Robert Schilling <rschilling@rivosinc.com>
Signed-off-by: Robert Schilling <rschilling@rivosinc.com>
af93c02
to
14ac869
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, but there are items that can be addressed in subsequent PRs.
CHANGE AUTHORIZED: hw/ip/i2c/data/i2c.hjson This PR changes hardware blocks used in Earlgrey as well as Earlgrey but the functionality doesn't change as RACL is still disabled in Earlgrey, i.e., these changes have no functional impact. |
CHANGE AUTHORIZED: hw/ip/i2c/data/i2c.hjson |
This PR adds support for parsing the RACL config. In the first place, a *-connection is implemented, mapping all registers to a single RACL policy. The RACL policies are distributed to subscribing IPs. A selection vector in the form of a parameter selects the right policy from the policy vector.
RACL is applied to PWM first.