1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 05:57:45 +00:00

Kernel: Add a quickmap region for each processor

Threads need to be able to concurrently quickmap things.
This commit is contained in:
Tom 2020-06-28 16:04:35 -06:00 committed by Andreas Kling
parent d249b5df8f
commit 2a38cc9a12
5 changed files with 56 additions and 22 deletions

View file

@ -611,6 +611,7 @@ struct TrapFrame;
#define GDT_SELECTOR_TSS 0x38
class ProcessorInfo;
struct MemoryManagerData;
class Processor {
Processor* m_self; // must be first field (%fs offset 0x0)
@ -626,6 +627,7 @@ class Processor {
static FPUState s_clean_fpu_state;
ProcessorInfo* m_info;
MemoryManagerData* m_mm_data;
Thread* m_current_thread;
Thread* m_idle_thread;
@ -668,6 +670,16 @@ public:
return get_fs() == GDT_SELECTOR_PROC && read_fs_u32(0) != 0;
}
ALWAYS_INLINE void set_mm_data(MemoryManagerData& mm_data)
{
m_mm_data = &mm_data;
}
ALWAYS_INLINE MemoryManagerData& get_mm_data() const
{
return *m_mm_data;
}
ALWAYS_INLINE Thread* idle_thread() const
{
return m_idle_thread;