Repository navigation
mips64: Fix memory initialization and interrupt handling issues - #17
Merged
Merged
Conversation
memclrNoHeapPointers will check the MIPS64X struct whether to use an SIMD instruction set, which isn't initialized at this point. As a safe fallback disable all optional instruction sets (currently only MSA) until proper initialization.
ares will report unusual cache accesses if a CACHE OP is performed on non-cacheable addresses. It's not a bug, but to make ares happy do the cache ops in the uncached segment.
clktmr
marked this pull request as draft
May 10, 2025 10:44
Disabling of interrupts was broken since after the call to sysirqctl(), the STATUS register would be restored from exception context saved on the stack. The globalIRQMask is now stored separately and always used to restore the mask for external interrupts. As a side-effect, the system will now boot with all external interrupts disabled and waits for the user application to enable them.
REGTMP is the scratch register used by the assembler. Saving it with GPRS is bad because one needs to be extra careful writing assembly that won't clobber REGTMP as long as it's not saved or after it's restored. Instead try to save it as early and restore it as late as possible to prevent bugs, that will only be visible in the disassembly.
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
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.
See commit messages for details.