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

@ -3,7 +3,7 @@
#define PACKED __attribute__ ((packed))
#define NORETURN __attribute__ ((noreturn))
#undef ALWAYS_INLINE
#define ALWAYS_INLINE __attribute__ ((always_inline))
#define ALWAYS_INLINE inline __attribute__ ((always_inline))
#define NEVER_INLINE __attribute__ ((noinline))
#define MALLOC_ATTR __attribute__ ((malloc))
#define PURE __attribute__ ((pure))