Fix some paging related bugs exposed by the spawn stress test.

- Process::exec() needs to restore the original paging scope when called
  on a non-current process.
- Add missing InterruptDisabler guards around g_processes access.
- Only flush the TLB when modifying the active page tables.
This commit is contained in:
Andreas Kling 2018-11-09 01:25:31 +01:00
commit e71cb1c56b
Notes: sideshowbarker 2024-07-19 18:31:27 +09:00
13 changed files with 110 additions and 67 deletions

View file

@ -55,6 +55,8 @@ private:
struct PageDirectory {
dword entries[1024];
RetainPtr<PhysicalPage> physical_pages[1024];
bool is_active() const;
};
class VMObject : public Retainable<VMObject> {