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

Kernel/aarch64: Implement Processor::{enter,exit}_trap

And use them in interrupt handling.
This commit is contained in:
Timon Kruiper 2022-12-22 11:56:40 +01:00 committed by Andrew Kaster
parent ee883b839c
commit f232133f65
3 changed files with 81 additions and 9 deletions

View file

@ -24,6 +24,7 @@ class PageDirectory;
class Thread;
class Processor;
class TrapFrame;
// FIXME This needs to go behind some sort of platform abstraction
// it is used between Thread and Processor.
@ -260,6 +261,9 @@ public:
FlatPtr init_context(Thread& thread, bool leave_crit);
static ErrorOr<Vector<FlatPtr, 32>> capture_stack_trace(Thread& thread, size_t max_frames = 0);
void enter_trap(TrapFrame& trap, bool raise_irq);
void exit_trap(TrapFrame& trap);
private:
Thread* m_current_thread;
Thread* m_idle_thread;