Lines Matching +full:bad +full:- +full:key +full:- +full:1
4 * SPDX-License-Identifier: Apache-2.0
11 * Not all architecture-specific defines are here, APIs that are used
30 * @defgroup arch-timing Architecture timing APIs
35 * Architecture-specific implementation of busy-waiting
45 * @defgroup arch-threads Architecture thread APIs
46 * @ingroup arch-interface
50 /** Handle arch-specific logic for setting up new threads
52 * The stack and arch-specific thread state variables must be set up
64 * randomization and thread-local storage.
66 * Fields in thread->base will be initialized when this is called.
72 * @param p1 1st entry point parameter
89 * "switch_handle" field of a newly-created thread in arch_new_thread(),
139 * Must be called with interrupts locked with the provided key.
140 * This is the older-style context switching method, which is incompatible
144 * @param key Interrupt locking key
148 int arch_swap(unsigned int key);
189 * @retval -EINVAL If the floating point disabling could not be performed.
190 * @retval -ENOTSUP If the operation is not supported
209 * @retval -EINVAL If the floating point enabling could not be performed.
210 * @retval -ENOTSUP If the operation is not supported
233 * @return -EBADF Bad thread object
234 * @return -EPERM No permissions on thread object
235 * #return -ENOTSUP Forbidden by hardware policy
236 * @return -EINVAL Thread is uninitialized or exited or not a user thread
237 * @return -EFAULT Bad memory address for unused_ptr
246 * @defgroup arch-pm Architecture-specific power management APIs
247 * @ingroup arch-interface
257 * @defgroup arch-irq Architecture-specific IRQ APIs
258 * @ingroup arch-interface
275 * @defgroup arch-mmu Architecture-specific memory-mapping APIs
276 * @ingroup arch-interface
283 * This is a low-level interface to mapping pages into the address space.
301 * Architectures are expected to pre-allocate page tables for the entire
311 * @param virt Page-aligned Destination virtual address to map
312 * @param phys Page-aligned Source physical address to map
313 * @param size Page-aligned size of the mapped memory region in bytes
321 * This is a low-level interface for un-mapping pages from the address space.
335 * due to all contained entries being un-mapped may remain in place.
341 * @param addr Page-aligned base virtual address to un-map
342 * @param size Page-aligned region size
360 * @param virt Page-aligned virtual address
365 * @retval -EFAULT if virtual address is not mapped
373 * example of this is reserved regions in the first megabyte on PC-like systems.
382 * Update all page tables for a paged-out data page
385 * - Sets the data page virtual address to trigger a fault if accessed that
386 * can be distinguished from access violations or un-mapped pages.
387 * - Saves the provided location value so that it can retrieved for that
389 * - The location value semantics are undefined here but the value will be
390 * always be page-aligned. It could be 0.
403 * Update all page tables for a paged-in data page
406 * - Maps the specified virtual data page address to the provided physical
409 * - Clears any accounting for "accessed" and "dirty" states.
475 * @retval ARCH_PAGE_LOCATION_BAD The page is un-mapped or otherwise has had
506 * If un-set, the data page is paged out or not mapped.
512 * If ARCH_DATA_PAGE_LOADED is un-set, this will indicate that the page
546 * if ARCH_DATA_PAGE_LOADED is un-set, otherwise ignore it.
555 * @param [out] location If non-NULL, updated with either physical page frame
569 * @defgroup arch-misc Miscellaneous architecture APIs
570 * @ingroup arch-interface
603 * @retval -EAGAIN If the operation could not be performed.
609 * Architecture-specific kernel initialization hook
612 * architecture-specific setup before the rest of the kernel is brought up.
622 * @defgroup arch-coredump Architecture-specific core dump APIs
623 * @ingroup arch-interface
628 * @brief Architecture-specific handling during coredump
630 * This dumps architecture-specific information during coredump.
632 * @param esf Exception Stack Frame (arch-specific)
644 * @brief Architecture-specific handling of dumping privileged stack
646 * This dumps the architecture-specific privileged stack during coredump.
657 * @defgroup arch-tls Architecture-specific Thread Local Storage APIs
658 * @ingroup arch-interface
663 * @brief Setup Architecture-specific TLS area in stack
676 /* Include arch-specific inline function implementation */