Mark3 Realtime Kernel
|
ATMega1284p Multithreading support. More...
Go to the source code of this file.
Namespaces | |
Mark3 | |
Macros | |
#define | ASM(x) asm volatile(x); |
#define | PORT_TOP_OF_STACK(x, y) (reinterpret_cast<K_WORD*>(reinterpret_cast<K_ADDR>(x) + (static_cast<K_ADDR>(y) - 1))) |
Macro to find the top of a stack given its size and top address. More... | |
#define | PORT_PUSH_TO_STACK(x, y) *x = y; x--; |
Push a value y to the stack pointer x and decrement the stack pointer. More... | |
#define | Thread_SaveContext() |
Save the context of the Thread. More... | |
#define | Thread_RestoreContext() |
Restore the context of the Thread. More... | |
Functions | |
uint8_t | Mark3::PORT_CLZ (uint8_t in_) |
void | Mark3::PORT_IRQ_ENABLE () |
void | Mark3::PORT_IRQ_DISABLE () |
void | Mark3::PORT_CS_ENTER () |
void | Mark3::PORT_CS_EXIT () |
K_WORD | Mark3::PORT_CS_NESTING () |
Variables | |
static constexpr auto | Mark3::SR_ = uint8_t{0x3F} |
K_WORD | Mark3::g_kwSFR |
K_WORD | Mark3::g_kwCriticalCount |
ATMega1284p Multithreading support.
Definition in file threadport.h.
#define ASM | ( | x | ) | asm volatile(x); |
Definition at line 32 of file threadport.h.
#define PORT_PUSH_TO_STACK | ( | x, | |
y | |||
) | *x = y; x--; |
Push a value y to the stack pointer x and decrement the stack pointer.
Definition at line 38 of file threadport.h.
#define PORT_TOP_OF_STACK | ( | x, | |
y | |||
) | (reinterpret_cast<K_WORD*>(reinterpret_cast<K_ADDR>(x) + (static_cast<K_ADDR>(y) - 1))) |
Macro to find the top of a stack given its size and top address.
Definition at line 36 of file threadport.h.
#define Thread_RestoreContext | ( | ) |
Restore the context of the Thread.
Definition at line 91 of file threadport.h.
#define Thread_SaveContext | ( | ) |
Save the context of the Thread.
Definition at line 42 of file threadport.h.