[kernel] Cleanup potential kernel startup issues, release more memory #2555
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.
During testing of the CONFIG_TIMER_INT1C in #2553 using emu86, a number of problematic situations were found that caused kernel startup to fail and noted. The reasons for these issues were finally found, and are fixed in this PR.
The following enhancements and fixes are included:
setspfunction call was problematic since it changes SP, but the compiler was emitting ADD $2,SP instructions after the function call to clean up the stack, causing endless hard-to-find problems. An ASM macro is now used.int3is now also a macro, useful for tracing in emu86.psis added as a valid login, for quick system testing and observation without logging in.Tested on QEMU and EMU86 under normal and INT 1C configurations.