Lines Matching +full:local +full:- +full:ipi +full:- +full:id
4 * SPDX-License-Identifier: Apache-2.0
8 * @defgroup arch-interface Architecture Interface
13 * call architecture-specific API so will have the prototypes for the
14 * architecture-specific APIs here. Architecture APIs that aren't used in this
17 * The set of architecture-specific APIs used internally by public macros and
53 * @defgroup arch-timing Architecture timing APIs
54 * @ingroup arch-interface
82 * through the full 64 bit space, wrapping at 2^64-1. Hardware with
92 * @addtogroup arch-threads
126 * buffer, defined as the area usable for thread stack context and thread-
127 * local storage.
137 * - Rounded up to the next power of two if user mode is enabled on an arch
139 * - Rounded up to ARCH_STACK_PTR_ALIGN
146 * @brief MPU guard size for kernel-only stacks
160 * @brief Required alignment of the lowest address of a kernel-only stack.
166 * @addtogroup arch-pm
175 * '_pm_save_flag' variable is non-zero.
178 * immediately return, otherwise a power-saving instruction should be
182 * caused the CPU to exit power-saving mode has been serviced, although
190 * @brief Atomically re-enable interrupts and enter low power mode
194 * -# Enabling interrupts and entering a low-power mode needs to be
196 * enabled before the processor enters a low-power mode. See the comments
200 * -# After waking up from the low-power mode, the interrupt lockout state
213 * @addtogroup arch-smp
218 * Per-cpu entry function
225 * @brief Start a numbered CPU on a MP-capable system
235 * for special-purpose apps which want Zephyr running on one core and to use
236 * others for design-specific processing.
258 * @addtogroup arch-irq
316 * Arch-specific hook to install a dynamic interrupt.
322 * @param flags Arch-specific IRQ configuration flag
331 * Arch-specific hook to dynamically uninstall a shared interrupt.
340 * @param flags Arch-specific IRQ configuration flag
394 * @brief Arch-specific hook for allocating IRQs
405 * @brief Arch-specific hook for declaring an IRQ being used
415 * @brief Arch-specific hook for checking if an IRQ is being used already
448 * The only intended use-case for this function is for test code to simulate
461 * Initialize the architecture-specific portion of the irq_offload subsystem
471 * @defgroup arch-smp Architecture-specific SMP APIs
472 * @ingroup arch-interface
481 * @brief Processor hardware ID
483 * Most multiprocessor architectures have a low-level unique ID value
487 * platform-defined. In particular, they are not guaranteed to match
497 * @return Unique ID for currently-executing CPU
513 * @param cpu_bitmap A bitmap indicating which CPUs need the IPI
535 * @defgroup arch-userspace Architecture-specific userspace APIs
536 * @ingroup arch-interface
546 * No general-purpose register state other than return value may be preserved
557 * Call IDs are untrusted and must be bounds-checked, as the value is used to
561 * @param call_id System call ID
572 * @param call_id System call ID, will be bounds-checked and used to reference
573 * kernel-side dispatch table
586 * @param call_id System call ID, will be bounds-checked and used to reference
587 * kernel-side dispatch table
601 * @param call_id System call ID, will be bounds-checked and used to reference
602 * kernel-side dispatch table
618 * @param call_id System call ID, will be bounds-checked and used to reference
619 * kernel-side dispatch table
636 * @param call_id System call ID, will be bounds-checked and used to reference
637 * kernel-side dispatch table
656 * @param call_id System call ID, will be bounds-checked and used to reference
657 * kernel-side dispatch table
675 * @return Max number of partitions, or -1 if there is no limit
682 * @brief Architecture-specific hook for memory domain initialization
684 * Perform any tasks needed to initialize architecture-specific data within
699 * @retval -ENOMEM Insufficient memory
706 * @brief Add a thread to a memory domain (arch-specific)
708 * Architecture-specific hook to manage internal data structures or hardware
711 * The thread->mem_domain_info.mem_domain pointer will be set to the domain to
718 * @retval -EINVAL if invalid parameters supplied
719 * @retval -ENOSPC if running out of space in internal structures
725 * @brief Remove a thread from a memory domain (arch-specific)
727 * Architecture-specific hook to manage internal data structures or hardware
736 * @retval -EINVAL if invalid parameters supplied
741 * @brief Remove a partition from the memory domain (arch-specific)
743 * Architecture-specific hook to manage internal data structures or hardware
754 * @retval -EINVAL if invalid parameters supplied
755 * @retval -ENOENT if no matching partition found
763 * Architecture-specific hook to manage internal data structures or hardware
770 * @retval -EINVAL if invalid parameters supplied
799 * @param write If non-zero, additionally check if the area is writable.
824 * Perform a one-way transition from supervisor to user mode.
828 * - Reset the thread's stack pointer to a suitable initial value. We do not
829 * need any prior context since this is a one-way operation.
830 * - Set up any kernel stack region for the CPU to use during privilege
832 * - Put the CPU in whatever its equivalent of user mode is
833 * - Transfer execution to arch_new_thread() passing along all the supplied
863 * This must not fault, instead the @p err parameter must have -1 written to it.
879 * true if the byte pointed to lies within an architecture-defined
900 * Required when ARCH_HAS_COHERENCE is true. On cache-incoherent
915 * may have run or re-initialized the thread since this CPU
920 * entering arch_switch() to effect a code-driven context switch. In
951 * @defgroup arch-gdbstub Architecture-specific gdbstub APIs
952 * @ingroup arch-interface
1053 * @retval -1 Error encountered
1054 * @retval -2 Not supported
1068 * @retval -1 Error encountered
1069 * @retval -2 Not supported
1144 * (with platform-dependent code, e.g. by casting to a uint32_t before
1161 * internally. This function computes a positive-definite interval
1240 * @param flags Arch-specific IRQ configuration flag
1262 * @defgroup arch-stackwalk Architecture-specific Stack Walk APIs
1263 * @ingroup arch-interface
1265 * To add API support to an architecture, `arch_stack_walk()` should be implemented and a non-user
1273 * stack_trace_callback_fn - Callback for @ref arch_stack_walk
1282 * @brief Architecture-specific function to walk the stack
1300 * arch-stackwalk