- Create `Include/` folder for all main projects - Fix some issues here and there (found while moving things) - All includes are now in `Tactility/` subfolder and must be included with that prefix. This fixes issues with clashing POSIX headers (e.g. `<semaphore.h>` versus Tactility's `Semaphore.h`)
25 lines
393 B
C++
25 lines
393 B
C++
#pragma once
|
|
|
|
#include <cstdint>
|
|
|
|
namespace tt::kernel::critical {
|
|
|
|
struct CriticalInfo {
|
|
uint32_t isrm;
|
|
bool fromIsr;
|
|
bool kernelRunning;
|
|
};
|
|
|
|
/** Enter a critical section
|
|
* @return info on the status
|
|
*/
|
|
CriticalInfo enter();
|
|
|
|
/**
|
|
* Exit a critical section
|
|
* @param[in] info the info from when the critical section was started
|
|
*/
|
|
void exit(CriticalInfo info);
|
|
|
|
} // namespace
|