
Guard synchronizes access to epilogue level More...
#include "interrupt/gate.h"
Namespaces | |
Guard | |
Synchronizes the kernel with interrupts using the Prologue/Epilogue ModelThe Guard is used to synchronize between "normal" core activities (currently just the text output, later system calls) and interrupt handling routines. For this purpose, Guard has a queue for each CPU, in which gate objects can be added. This is necessary if the critical section is occupied at the time an interrupt occurs, and the epilogue() method cannot be processed immediately. The queued epilogues are processed while leaving the critical section. | |
Functions | |
void | Guard::enter () |
Entering the critical section. More... | |
void | Guard::leave () |
Leaving the critical section. More... | |
void | Guard::relay (Gate *item) |
A prologue wants its epilogue to be processed. More... | |
bool | Guard::active () |
Helper to check if we are currently in a guarded environment. More... | |
Guard synchronizes access to epilogue level