posix: separate shell utilities and posix api implementation
Previously, the POSIX shell utilities were intermixed with the POSIX API implementation. The POSIX shell utilities only depend on the public POSIX API, so it makes sense to keep them in a separate subdirectory. Signed-off-by: Christopher Friedt <cfriedt@meta.com>
This commit is contained in:
parent
5957da5830
commit
855b8bc6ca
65 changed files with 238 additions and 189 deletions
62
lib/posix/options/Kconfig.pthread
Normal file
62
lib/posix/options/Kconfig.pthread
Normal file
|
@ -0,0 +1,62 @@
|
|||
# Copyright (c) 2017 Intel Corporation
|
||||
# Copyright (c) 2023 Meta
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
TYPE = PTHREAD
|
||||
type = pthread_t
|
||||
type-function = pthread_create
|
||||
rsource "Kconfig.template.pooled_ipc_type"
|
||||
|
||||
if PTHREAD
|
||||
|
||||
config PTHREAD_RECYCLER_DELAY_MS
|
||||
int "Delay for reclaiming dynamic pthread stacks (ms)"
|
||||
default 100
|
||||
help
|
||||
Prior to a POSIX thread terminating via k_thread_abort(), scheduled
|
||||
work is added to the system workqueue (SWQ) so that any resources
|
||||
allocated by the thread (e.g. thread stack from a pool or the heap)
|
||||
can be released back to the system. Because resources are also freed
|
||||
on calls to pthread_create() there is no need to worry about resource
|
||||
starvation.
|
||||
|
||||
This option sets the number of milliseconds by which to defer
|
||||
scheduled work.
|
||||
|
||||
Note: this option should be considered temporary and will likely be
|
||||
removed once a more synchronous solution is available.
|
||||
|
||||
config POSIX_PTHREAD_ATTR_STACKSIZE_BITS
|
||||
int "Significant bits for pthread_attr_t stacksize"
|
||||
range 8 31
|
||||
default 23
|
||||
help
|
||||
This value plays a part in determining the maximum supported
|
||||
pthread_attr_t stacksize. Valid stacksizes are in the range
|
||||
[1, N], where N = 1 << M, and M is this configuration value.
|
||||
|
||||
config POSIX_PTHREAD_ATTR_GUARDSIZE_BITS
|
||||
int "Significant bits for pthread_attr_t guardsize"
|
||||
range 1 31
|
||||
default 9
|
||||
help
|
||||
This value plays a part in determining the maximum supported
|
||||
pthread_attr_t guardsize. Valid guardsizes are in the range
|
||||
[0, N-1], where N = 1 << M, and M is this configuration value.
|
||||
|
||||
Actual guardsize values may be rounded-up.
|
||||
|
||||
config POSIX_PTHREAD_ATTR_GUARDSIZE_DEFAULT
|
||||
int "Default size of stack guard area"
|
||||
default 0
|
||||
help
|
||||
This is the default amount of space to reserve at the overflow end of a
|
||||
pthread stack. Since Zephyr already supports both software-based stack
|
||||
protection (canaries) and hardware-based stack protection (MMU or MPU),
|
||||
this is set to 0 by default. However, a conforming application would be
|
||||
required to set this to PAGESIZE. Eventually, this option might
|
||||
facilitate a more dynamic approach to guard areas (via software or
|
||||
hardware) but for now it simply increases the size of thread stacks.
|
||||
|
||||
endif
|
Loading…
Add table
Add a link
Reference in a new issue