-
Notifications
You must be signed in to change notification settings - Fork 5
[REBASE & FF] Implement support for core reload #12
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
Merged
+1,684
−3
Conversation
This file contains hidden or 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
Merged
8 tasks
cfernald
commented
Dec 4, 2025
cfernald
commented
Dec 4, 2025
cfernald
commented
Dec 4, 2025
os-d
approved these changes
Dec 4, 2025
Javagedes
approved these changes
Dec 8, 2025
makubacki
approved these changes
Dec 8, 2025
makubacki
reviewed
Dec 8, 2025
When sending large packets, the device FIFO may not be emptied fast enough and data can end up getting lost. Patina can handle this to some degree, but if the data lost is the checksum bytes, the stub does not realize the packet was finished and will just wait indefinitely for more data. This change forces the data to be sent in smaller blocks with delays in between to allow the device to catch up. Ideally this is replaced by proper flow control in the future.
This commit implements the automatic reload functionality provided by the Patina core. This involves the following steps: 1. Load the new core, and compress it. 2. Request the core allocate memory for the compressed data. 3. Write the compressed data to the core's memory. 4. Request the core to load the compressed data. 5. Switch the register state to jump to the new core.
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.
UefiExt: Implement the reload command for Patina
This commit implements the automatic reload functionality provided by
the Patina core. This involves the following steps:
ComToTcpServer: Send messages and blocks on COM
When sending large packets, the device FIFO may not be emptied fast enough
and data can end up getting lost. Patina can handle this to some degree,
but if the data lost is the checksum bytes, the stub does not realize the
packet was finished and will just wait indefinitely for more data.
This change forces the data to be sent in smaller blocks with delays in
between to allow the device to catch up. Ideally this is replaced by
proper flow control in the future.