-
Notifications
You must be signed in to change notification settings - Fork 70
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
Virtual address space specification, assignment, and booting. #453
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Commit 0: Add the parsing and validation logic to the composer
…nd validation of composition scripts, and added access to AS representation in the composer's state. The overall goal is to add full initargs support for address spaces, going all the way back to a specification for address spaces from the composition scripts. Steps: 1. DONE: parsing and validation of composition scripts. 2. DONE: add an AS representation to the pass structure of the composer for later pass access. 3. Order ASes by the parent relationship. 4. Assign virtual addresses based on ASes and the parent relation. 5. Synthesize the initargs based on the ASes and addresses. 6. Use the initargs and the AS specification in the booter.
…zation (with containing components, and exclusive AS components) Steps: 1. DONE: parsing and validation of composition scripts. 2. DONE: add an AS representation to the pass structure of the composer for later pass access. 3. -> DONE: Order ASes by the parent relationship. 4. Assign virtual addresses based on ASes and the parent relation. 5. Synthesize the initargs based on the ASes and addresses. 6. Use the initargs and the AS specification in the booter.
1. DONE: parsing and validation of composition scripts. 2. DONE: add an AS representation to the pass structure of the composer for later pass access. 3. DONE: Order ASes by the parent relationship. 4. -> DONE: Assign virtual addresses based on ASes and the parent relation. This is *not yet integrated into the output*. That's next commit. 5. Synthesize the initargs based on the ASes and addresses. 6. Use the initargs and the AS specification in the booter.
1. DONE: parsing and validation of composition scripts. 2. DONE: add an AS representation to the pass structure of the composer for later pass access. 3. DONE: Order ASes by the parent relationship. 4. DONE: Assign virtual addresses based on ASes and the parent relation. -> Now integrated into the output! 5. Synthesize the initargs based on the ASes and addresses. 6. Use the initargs and the AS specification in the booter.
…fication. Steps: 1. DONE: parsing and validation of composition scripts. 2. DONE: add an AS representation to the pass structure of the composer for later pass access. 3. DONE: Order ASes by the parent relationship. 4. DONE: Assign virtual addresses based on ASes and the parent relation. 5. -> DONE: Synthesize the initargs based on the ASes and addresses. 6. Use the initargs and the AS specification in the booter.
Steps: 1. DONE: parsing and validation of composition scripts. 2. DONE: add an AS representation to the pass structure of the composer for later pass access. 3. DONE: Order ASes by the parent relationship. 4. DONE: Assign virtual addresses based on ASes and the parent relation. 5. DONE: Synthesize the initargs based on the ASes and addresses. 6. -> DONE: Use the initargs and the AS specification in the booter. Pending: BUG for split ASes that don't properly maintain non-overlapping ASes.
Steps: 1. DONE: parsing and validation of composition scripts. 2. DONE: add an AS representation to the pass structure of the composer for later pass access. 3. DONE: Order ASes by the parent relationship. 4. DONE: Assign virtual addresses based on ASes and the parent relation. 5. DONE: Synthesize the initargs based on the ASes and addresses. 6. DONE: Use the initargs and the AS specification in the booter.
Excellent PR! Thanks for the detailed review steps here. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary of this Pull Request (PR)
Adds support for virtual address space knowledge and management into the composer, and feeds that into the booter through the
initargs
.initargs
description of the address spaces, and integrates them intollbooter
.I'm hoping that this can get rid of the llbooter_vas.c stuff, so I didn't modify that code.
To review, it might be easiest to go through the commits as they are structured in a sequence of successive functionality.
Steps:
Intent for your PR
Choose one (Mandatory):
Reviewers (Mandatory):
@evanstella @WenyuanShao @betahxy
Code Quality
As part of this pull request, I've considered the following:
Style:
Code Craftsmanship:
Testing
Some coverage of the tests.