Skip to content
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

subsystem: add an optional node to use for assigning hartids #2447

Merged
merged 2 commits into from
May 5, 2020

Conversation

terpstra
Copy link
Contributor

@terpstra terpstra commented May 2, 2020

This is useful when the hartid of a core cannot be known statically.

Type of change: feature request
Impact: API addition (no impact on existing code)
Development Phase: implementation

@terpstra terpstra requested a review from hcook May 2, 2020 17:06
This is useful when the hartid of a core cannot be known statically.
@@ -80,14 +82,29 @@ class RocketSubsystem(implicit p: Parameters) extends BaseSubsystem
// add Mask ROM devices
val maskROMs = p(PeripheryMaskROMKey).map { MaskROM.attach(_, cbus) }

val hartPrefixNode = if (p(HartPrefixKey)) {
Copy link
Member

@hcook hcook May 4, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If possible, I would put this in the trait HasTiles or HasRocketTiles, both of which actually currently get reused across multiple BaseSubsystem subclasses, unlike RocketSubsystem which is only used here and in soc-testsocket-sifive

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would do that, but then this PR would break those other subclasses. Since the hartReg() part of this is needed to unblock the pipeline, I think I will do that refactor as a follow-up PR.

For whatever reason, this step is hanging.
@aswaterman aswaterman merged commit 97ef34b into master May 5, 2020
@aswaterman aswaterman deleted the optional-hartid-prefix branch May 5, 2020 07:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants