Lines Matching +full:measure +full:- +full:mode
4 * SPDX-License-Identifier: Apache-2.0
8 * @defgroup arch-interface Architecture Interface
12 * call architecture-specific API so will have the prototypes for the
13 * architecture-specific APIs here. Architecture APIs that aren't used in this
16 * The set of architecture-specific APIs used internally by public macros and
49 * @defgroup arch-timing Architecture timing APIs
50 * @ingroup arch-interface
55 * Obtain the current cycle count, in units that are hardware-specific
65 * @addtogroup arch-threads
99 * buffer, defined as the area usable for thread stack context and thread-
110 * - Rounded up to the next power of two if user mode is enabled on an arch
112 * - Rounded up to ARCH_STACK_PTR_ALIGN
119 * @brief MPU guard size for kernel-only stacks
133 * @brief Required alignment of the lowest address of a kernel-only stack.
139 * @addtogroup arch-pm
148 * '_pm_save_flag' variable is non-zero.
151 * immediately return, otherwise a power-saving instruction should be
155 * caused the CPU to exit power-saving mode has been serviced, although
163 * @brief Atomically re-enable interrupts and enter low power mode
167 * -# Enabling interrupts and entering a low-power mode needs to be
169 * enabled before the processor enters a low-power mode. See the comments
173 * -# After waking up from the low-power mode, the interrupt lockout state
186 * @addtogroup arch-smp
191 * Per-cpu entry function
198 * @brief Start a numbered CPU on a MP-capable system
206 * Normally, in SMP mode this function will be called by the kernel
208 * for special-purpose apps which want Zephyr running on one core and to use
209 * others for design-specific processing.
231 * @addtogroup arch-irq
289 * Arch-specific hook to install a dynamic interrupt.
295 * @param flags Arch-specific IRQ configuration flag
344 * If the caller is running in user mode, only K_ERR_KERNEL_OOPS or
362 * The only intended use-case for this function is for test code to simulate
378 * @defgroup arch-smp Architecture-specific SMP APIs
379 * @ingroup arch-interface
398 * @defgroup arch-userspace Architecture-specific userspace APIs
399 * @ingroup arch-interface
407 * No general-purpose register state other than return value may be preserved
408 * when transitioning from supervisor mode back down to user mode for
412 * privileges from user to supervisor mode.
418 * Call ids are untrusted and must be bounds-checked, as the value is used to
433 * @param call_id System call ID, will be bounds-checked and used to reference
434 * kernel-side dispatch table
447 * @param call_id System call ID, will be bounds-checked and used to reference
448 * kernel-side dispatch table
462 * @param call_id System call ID, will be bounds-checked and used to reference
463 * kernel-side dispatch table
479 * @param call_id System call ID, will be bounds-checked and used to reference
480 * kernel-side dispatch table
497 * @param call_id System call ID, will be bounds-checked and used to reference
498 * kernel-side dispatch table
517 * @param call_id System call ID, will be bounds-checked and used to reference
518 * kernel-side dispatch table
527 * Indicate whether we are currently running in user mode
536 * @return Max number of partitions, or -1 if there is no limit
543 * @brief Architecture-specific hook for memory domain initialization
545 * Perform any tasks needed to initialize architecture-specific data within
560 * @retval -ENOMEM Insufficient memory
567 * @brief Add a thread to a memory domain (arch-specific)
569 * Architecture-specific hook to manage internal data structures or hardware
572 * The thread->mem_domain_info.mem_domain pointer will be set to the domain to
581 * @brief Remove a thread from a memory domain (arch-specific)
583 * Architecture-specific hook to manage internal data structures or hardware
594 * @brief Remove a partition from the memory domain (arch-specific)
596 * Architecture-specific hook to manage internal data structures or hardware
612 * Architecture-specific hook to manage internal data structures or hardware
653 * Perform a one-way transition from supervisor to kernel mode.
657 * - Reset the thread's stack pointer to a suitable initial value. We do not
658 * need any prior context since this is a one-way operation.
659 * - Set up any kernel stack region for the CPU to use during privilege
661 * - Put the CPU in whatever its equivalent of user mode is
662 * - Transfer execution to arch_new_thread() passing along all the supplied
663 * arguments, in user mode.
692 * This must not fault, instead the err parameter must have -1 written to it.
696 * @param s String to measure
708 * true if the byte pointed to lies within an architecture-defined
729 * Required when ARCH_HAS_COHERENCE is true. On cache-incoherent
744 * may have run or re-initialized the thread since this CPU
749 * entering arch_switch() to effect a code-driven context switch. In
780 * @defgroup arch-gdbstub Architecture-specific gdbstub APIs
781 * @ingroup arch-interface
818 * @defgroup arch_cache Architecture-specific cache functions
819 * @ingroup arch-interface
826 * @brief Enable d-cache
834 * @brief Disable d-cache
842 * @brief Enable i-cache
850 * @brief Enable i-cache
858 * @brief Write-back / Invalidate / Write-back + Invalidate all d-cache
866 * @brief Write-back / Invalidate / Write-back + Invalidate d-cache lines
874 * @brief Write-back / Invalidate / Write-back + Invalidate all i-cache
882 * @brief Write-back / Invalidate / Write-back + Invalidate i-cache lines
891 * @brief Get d-cache line size
901 * @brief Get i-cache line size
916 * @ingroup arch-timing
1040 * @param flags Arch-specific IRQ configuration flag