* Remove version from artifact name * Target C++ 20 and higher * Use cpp string * Better crash implementation * String utils in cpp style * Replace parameter methods with start() method * MutexType to Mutex::Type * Kernel c to cpp style * Cleanup event flag * More cpp conversions * Test fixes * Updated ideas docs
26 lines
461 B
C++
26 lines
461 B
C++
#pragma once
|
|
|
|
#include <cstdint>
|
|
|
|
#ifndef TT_CRITICAL_ENTER
|
|
#define TT_CRITICAL_ENTER() __TtCriticalInfo __tt_critical_info = __tt_critical_enter();
|
|
#endif
|
|
|
|
#ifndef TT_CRITICAL_EXIT
|
|
#define TT_CRITICAL_EXIT() __tt_critical_exit(__tt_critical_info);
|
|
#endif
|
|
|
|
namespace tt::kernel::critical {
|
|
|
|
typedef struct {
|
|
uint32_t isrm;
|
|
bool fromIsr;
|
|
bool kernelRunning;
|
|
} TtCriticalInfo;
|
|
|
|
TtCriticalInfo enter();
|
|
|
|
void exit(TtCriticalInfo info);
|
|
|
|
} // namespace
|