1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 20:57:44 +00:00

Kernel/aarch64: Correctly implement Processor::leave_critical

This commit is contained in:
Timon Kruiper 2023-02-22 23:26:30 +01:00 committed by Andrew Kaster
parent 1fa1f09c38
commit 1f68ac600c
2 changed files with 25 additions and 6 deletions

View file

@ -189,12 +189,7 @@ public:
current_processor.m_in_critical = current_processor.m_in_critical + 1;
}
ALWAYS_INLINE static void leave_critical()
{
auto& current_processor = current();
current_processor.m_in_critical = current_processor.m_in_critical - 1;
}
static void leave_critical();
static u32 clear_critical();
ALWAYS_INLINE static void restore_critical(u32 prev_critical)
@ -285,6 +280,8 @@ public:
private:
Processor(Processor const&) = delete;
void do_leave_critical();
u32 m_cpu;
CPUFeature::Type m_features;
u8 m_physical_address_bit_width;