|
StuBS
|
#include "interrupt/guard.h"#include "machine/core.h"#include "debug/assert.h"#include "debug/output.h"#include "sync/spinlock.h"#include "object/percore.h"Namespaces | |
| namespace | Guard |
| Synchronizes the kernel with interrupts using the Prologue/Epilogue Model. | |
Functions | |
| bool | Guard::active () |
| Helper to check if we are currently in a guarded environment on this CPU core. | |
| void | Guard::enter () |
| Entering the critical section from level 0. | |
| void | Guard::leave () |
| Leaving the critical section. | |
| void | Guard::relay (Gate *item) |
| A prologue wants its epilogue to be processed (entering from level 1). | |
Constants | |
| PerCore< PerCoreQueue< Gate > > | Guard::epilogue_queue |
| Queue for Gates. | |
| static Spinlock | Guard::global_lock |
| static PerCore< int > | Guard::core_lock (0) |