-
Notifications
You must be signed in to change notification settings - Fork 8
Open
Labels
state:needs-triageNeeds to triaged to determine next stepsNeeds to triaged to determine next stepstype:bugSomething isn't workingSomething isn't working
Description
Is there an existing issue for this?
- I have searched existing issues
Current Behavior
Today when a large page is split, it is temporarily unmapped, the new page table is filled out (remapping the large page). This can cause issues if the split fails and this was say, the SerialIo region and all prints and exceptions (which try to print) cause a triple fault (or recursive exceptions) as was the case in one bug.
This was implemented this way because we need to use the self map address, which doesn't exist for the new page table until it is mapped in the self map.
Expected Behavior
By using the zero VA range that has 512 GB of unused space, we can stage the new page table there, fill it out, then do an atomic swap; the large page is never unmapped this way.
Steps To Reproduce
n/a
Build Environment
- OS(s):
- Tool Chain(s):
- Targets Impacted:Version Information
top of tree
Urgency
Low
Are you going to fix this?
I will fix it
Do you need maintainer feedback?
No maintainer feedback needed
Anything else?
No response
Metadata
Metadata
Assignees
Labels
state:needs-triageNeeds to triaged to determine next stepsNeeds to triaged to determine next stepstype:bugSomething isn't workingSomething isn't working
Type
Projects
Status
No status