ChibiOS
19.1.4
|
Port related template macros and structures. More...
Go to the source code of this file.
Data Structures | |
struct | port_extctx |
Interrupt saved context. More... | |
struct | port_intctx |
System saved context. More... | |
struct | port_context |
Platform dependent part of the thread_t structure. More... | |
Macros | |
#define | PORT_IDLE_THREAD_STACK_SIZE 32 |
Stack size for the system idle thread. More... | |
#define | PORT_INT_REQUIRED_STACK 256 |
Per-thread stack overhead for interrupts servicing. More... | |
#define | PORT_USE_ALT_TIMER FALSE |
Enables an alternative timer implementation. More... | |
#define | PORT_XXX_ENABLE_WFI_IDLE FALSE |
Enables a "wait for interrupt" instruction in the idle loop. More... | |
#define | PORT_SETUP_CONTEXT(tp, wbase, wtop, pf, arg) |
Platform dependent part of the chThdCreateI() API. More... | |
#define | PORT_WA_SIZE(n) |
Computes the thread working area global size. More... | |
#define | PORT_WORKING_AREA(s, n) stkalign_t s[THD_WORKING_AREA_SIZE(n) / sizeof (stkalign_t)] |
Static working area allocation. More... | |
#define | PORT_IRQ_IS_VALID_PRIORITY(n) false |
Priority level verification macro. More... | |
#define | PORT_IRQ_IS_VALID_KERNEL_PRIORITY(n) false |
Priority level verification macro. More... | |
#define | PORT_IRQ_PROLOGUE() |
IRQ prologue code. More... | |
#define | PORT_IRQ_EPILOGUE() |
IRQ epilogue code. More... | |
#define | PORT_IRQ_HANDLER(id) void id(void) |
IRQ handler function declaration. More... | |
#define | PORT_FAST_IRQ_HANDLER(id) void id(void) |
Fast IRQ handler function declaration. More... | |
#define | port_switch(ntp, otp) _port_switch(ntp, otp) |
Performs a context switch between two threads. More... | |
Port Capabilities and Constants | |
#define | PORT_SUPPORTS_RT FALSE |
This port supports a realtime counter. More... | |
#define | PORT_NATURAL_ALIGN sizeof (void *) |
Natural alignment constant. More... | |
#define | PORT_STACK_ALIGN sizeof (stkalign_t) |
Stack alignment constant. More... | |
#define | PORT_WORKING_AREA_ALIGN sizeof (stkalign_t) |
Working Areas alignment constant. More... | |
Architecture and Compiler | |
#define | PORT_ARCHITECTURE_XXX |
Macro defining an XXX architecture. More... | |
#define | PORT_ARCHITECTURE_XXX_YYY |
Macro defining the specific XXX architecture. More... | |
#define | PORT_ARCHITECTURE_NAME "XXX Architecture" |
Name of the implemented architecture. More... | |
#define | PORT_COMPILER_NAME "GCC " __VERSION__ |
Compiler name and version. More... | |
#define | PORT_INFO "no info" |
Port-specific information string. More... | |
Typedefs | |
typedef uint64_t | stkalign_t |
Type of stack and memory alignment enforcement. More... | |
Functions | |
void | _port_init (void) |
Port-related initialization code. More... | |
void | _port_switch (thread_t *ntp, thread_t *otp) |
Performs a context switch between two threads. More... | |
static syssts_t | port_get_irq_status (void) |
Returns a word encoding the current interrupts status. More... | |
static bool | port_irq_enabled (syssts_t sts) |
Checks the interrupt status. More... | |
static bool | port_is_isr_context (void) |
Determines the current execution context. More... | |
static void | port_lock (void) |
Kernel-lock action. More... | |
static void | port_unlock (void) |
Kernel-unlock action. More... | |
static void | port_lock_from_isr (void) |
Kernel-lock action from an interrupt handler. More... | |
static void | port_unlock_from_isr (void) |
Kernel-unlock action from an interrupt handler. More... | |
static void | port_disable (void) |
Disables all the interrupt sources. More... | |
static void | port_suspend (void) |
Disables the interrupt sources below kernel-level priority. More... | |
static void | port_enable (void) |
Enables all the interrupt sources. More... | |
static void | port_wait_for_interrupt (void) |
Enters an architecture-dependent IRQ-waiting mode. More... | |
static rtcnt_t | port_rt_get_counter_value (void) |
Returns the current value of the realtime counter. More... | |
Port related template macros and structures.
This file is a template of the system driver macros provided by a port.
Definition in file chcore.h.