Dokumentation
guard.cc File Reference
#include "interrupt/guard.h"#include "interrupt/gatequeue.h"#include "machine/core.h"#include "debug/assert.h"#include "debug/output.h"#include "sync/ticketlock.h"#include "object/percore.h"
Include dependency graph for guard.cc: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 (bool forceInterruptEnable=false) |
| 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 | |
| static GateQueue | Guard::epilogue_queue |
| static Ticketlock | Guard::global_lock |
| static PerCore< int > | Guard::core_lock (0) |