|
ChibiOS 21.11.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. | |
| #define | PORT_INT_REQUIRED_STACK 256 |
| Per-thread stack overhead for interrupts servicing. | |
| #define | PORT_XXX_ENABLE_WFI_IDLE FALSE |
| Enables a "wait for interrupt" instruction in the idle loop. | |
| #define | PORT_THD_FUNCTION(tname, arg) |
| Optimized thread function declaration macro. | |
| #define | PORT_SETUP_CONTEXT(tp, wbase, wtop, pf, arg) |
Platform dependent part of the chThdCreateI() API. | |
| #define | PORT_WA_SIZE(n) |
| Computes the thread working area global size. | |
| #define | PORT_WORKING_AREA(s, n) |
| Static working area allocation. | |
| #define | PORT_IRQ_IS_VALID_PRIORITY(n) |
| Priority level verification macro. | |
| #define | PORT_IRQ_IS_VALID_KERNEL_PRIORITY(n) |
| Priority level verification macro. | |
| #define | PORT_IRQ_PROLOGUE() |
| IRQ prologue code. | |
| #define | PORT_IRQ_EPILOGUE() |
| IRQ epilogue code. | |
| #define | PORT_IRQ_HANDLER(id) |
| IRQ handler function declaration. | |
| #define | PORT_FAST_IRQ_HANDLER(id) |
| Fast IRQ handler function declaration. | |
| #define | port_switch(ntp, otp) |
| Performs a context switch between two threads. | |
| #define | port_get_lock_status() |
| Returns a word representing a critical section status. | |
| #define | port_is_locked(sts) |
| Determines if in a critical section. | |
Port Capabilities and Constants | |
| #define | PORT_SUPPORTS_RT FALSE |
| This port supports a realtime counter. | |
| #define | PORT_NATURAL_ALIGN sizeof (void *) |
| Natural alignment constant. | |
| #define | PORT_STACK_ALIGN sizeof (stkalign_t) |
| Stack alignment constant. | |
| #define | PORT_WORKING_AREA_ALIGN sizeof (stkalign_t) |
| Working Areas alignment constant. | |
Architecture and Compiler | |
| #define | PORT_ARCHITECTURE_XXX |
| Macro defining an XXX architecture. | |
| #define | PORT_ARCHITECTURE_XXX_YYY |
| Macro defining the specific XXX architecture. | |
| #define | PORT_ARCHITECTURE_NAME "XXX Architecture" |
| Name of the implemented architecture. | |
| #define | PORT_COMPILER_NAME "GCC " __VERSION__ |
| Compiler name and version. | |
| #define | PORT_INFO "no info" |
| Port-specific information string. | |
Functions | |
| void | _port_init (void) |
| Port-related initialization code. | |
| void | _port_switch (thread_t *ntp, thread_t *otp) |
| Performs a context switch between two threads. | |
| static bool | port_is_isr_context (void) |
| Determines the current execution context. | |
| static void | port_lock (void) |
| Kernel-lock action. | |
| static void | port_unlock (void) |
| Kernel-unlock action. | |
| static void | port_lock_from_isr (void) |
| Kernel-lock action from an interrupt handler. | |
| static void | port_unlock_from_isr (void) |
| Kernel-unlock action from an interrupt handler. | |
| static void | port_disable (void) |
| Disables all the interrupt sources. | |
| static void | port_suspend (void) |
| Disables the interrupt sources below kernel-level priority. | |
| static void | port_enable (void) |
| Enables all the interrupt sources. | |
| static void | port_wait_for_interrupt (void) |
| Enters an architecture-dependent IRQ-waiting mode. | |
| static rtcnt_t | port_rt_get_counter_value (void) |
| Returns the current value of the realtime counter. | |
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.