-
Notifications
You must be signed in to change notification settings - Fork 6.5k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
posix: create kconfig options for pse51, pse52, pse53
Create Kconfig "shortcuts" for PSE51, PSE52, and PSE53. Signed-off-by: Chris Friedt <[email protected]>
- Loading branch information
Chris Friedt
committed
May 27, 2024
1 parent
c237a88
commit 432df23
Showing
32 changed files
with
245 additions
and
65 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,168 @@ | ||
# Copyright (c) 2024 Tenstorrent | ||
# | ||
# SPDX-License-Identifier: Apache-2.0 | ||
|
||
config POSIX_API | ||
depends on !NATIVE_APPLICATION | ||
bool "All POSIX APIs" | ||
select NATIVE_LIBC_INCOMPATIBLE | ||
select POSIX_BASE_DEFINITIONS | ||
select POSIX_AEP_REALTIME_MINIMAL | ||
select POSIX_FD_MGMT | ||
select POSIX_MESSAGE_PASSING | ||
select POSIX_NETWORKING | ||
select POSIX_MULTI_PROCESS | ||
help | ||
This option enables the required POSIX System Interfaces (base definitions), as well as | ||
features found in PSE51 and PSE52. | ||
|
||
Note: in the future, this option may be deprecated in favour of subprofiling options. | ||
|
||
choice POSIX_AEP_CHOICE | ||
prompt "POSIX Subprofile" | ||
default POSIX_AEP_CHOICE_NONE | ||
help | ||
This choice is intended to help users select the correct POSIX profile for their | ||
application. Choices are based on IEEE 1003.13-2003 (now inactive / reserved) and | ||
extrapolated to the more recent Subprofiling Option Groups in IEEE 1003.3-2017. | ||
|
||
For more information, please refer to | ||
https://standards.ieee.org/ieee/1003.13/3322/ | ||
|
||
config POSIX_AEP_CHOICE_NONE | ||
bool "No pre-defined POSIX subprofile" | ||
help | ||
No pre-defined POSIX profile is selected. | ||
|
||
config POSIX_AEP_CHOICE_BASE | ||
bool "Base definitions (system interfaces)" | ||
depends on !NATIVE_APPLICATION | ||
select NATIVE_LIBC_INCOMPATIBLE | ||
select POSIX_BASE_DEFINITIONS | ||
help | ||
Only enable the base definitions required for all POSIX systems. | ||
|
||
config POSIX_AEP_CHOICE_PSE51 | ||
bool "Minimal Realtime System Profile (PSE51)" | ||
depends on !NATIVE_APPLICATION | ||
select NATIVE_LIBC_INCOMPATIBLE | ||
select POSIX_BASE_DEFINITIONS | ||
select POSIX_AEP_REALTIME_MINIMAL | ||
help | ||
PSE51 includes the POSIX Base Definitions (System Interfaces) as well as several Options and | ||
Option Groups to facilitate device I/O, signals, mandatory configuration utilities, and | ||
threading. | ||
|
||
For more information, please see | ||
https://pubs.opengroup.org/onlinepubs/9699919799/xrat/V4_subprofiles.html | ||
https://docs.zephyrproject.org/latest/services/portability/posix/aep/index.html | ||
|
||
config POSIX_AEP_CHOICE_PSE52 | ||
bool "Realtime Controller System Profile (PSE52)" | ||
depends on !NATIVE_APPLICATION | ||
select NATIVE_LIBC_INCOMPATIBLE | ||
select POSIX_BASE_DEFINITIONS | ||
select POSIX_AEP_REALTIME_MINIMAL | ||
select POSIX_AEP_REALTIME_CONTROLLER | ||
help | ||
PSE52 includes the POSIX Base Definitions (System Interfaces) as well as all features of | ||
PSE51. Additionally, it includes interfaces for file descriptor management, filesystem | ||
support, support for message queues, and tracing. | ||
|
||
For more information, please see | ||
https://pubs.opengroup.org/onlinepubs/9699919799/xrat/V4_subprofiles.html | ||
https://docs.zephyrproject.org/latest/services/portability/posix/aep/index.html | ||
|
||
config POSIX_AEP_CHOICE_PSE53 | ||
bool "Dedicated Realtime System Profile (PSE53)" | ||
depends on !NATIVE_APPLICATION | ||
select NATIVE_LIBC_INCOMPATIBLE | ||
select POSIX_BASE_DEFINITIONS | ||
select POSIX_AEP_REALTIME_MINIMAL | ||
select POSIX_AEP_REALTIME_CONTROLLER | ||
select POSIX_AEP_REALTIME_DEDICATED | ||
help | ||
PSE53 includes the POSIX Base Definitions (System Interfaces) as well as all features of | ||
PSE52. Additionally, it includes interfaces for POSIX multi-processing, networking, pipes, | ||
and prioritized I/O. | ||
|
||
For more information, please see | ||
https://pubs.opengroup.org/onlinepubs/9699919799/xrat/V4_subprofiles.html | ||
https://docs.zephyrproject.org/latest/services/portability/posix/aep/index.html | ||
|
||
# TODO: PSE54: Multi-purpose Realtime System Profile | ||
|
||
endchoice # POSIX_AEP_CHOICE | ||
|
||
# Base Definitions (System Interfaces) | ||
config POSIX_BASE_DEFINITIONS | ||
bool | ||
select POSIX_ASYNCHRONOUS_IO | ||
select POSIX_BARRIERS | ||
select POSIX_CLOCK_SELECTION | ||
# select POSIX_MAPPED_FILES | ||
# select POSIX_MEMORY_PROTECTION | ||
select POSIX_READER_WRITER_LOCKS | ||
select POSIX_REALTIME_SIGNALS | ||
select POSIX_SEMAPHORES | ||
select POSIX_SPIN_LOCKS | ||
select POSIX_THREAD_SAFE_FUNCTIONS | ||
select POSIX_THREADS | ||
select POSIX_TIMEOUTS | ||
select POSIX_TIMERS | ||
help | ||
This option is not user configurable. | ||
|
||
config POSIX_AEP_REALTIME_MINIMAL | ||
bool | ||
# Option Groups | ||
select POSIX_DEVICE_IO | ||
select POSIX_SIGNALS | ||
select POSIX_SINGLE_PROCESS | ||
select XSI_THREADS_EXT | ||
# Options | ||
select POSIX_FSYNC | ||
# select POSIX_MEMLOCK | ||
# select POSIX_MEMLOCK_RANGE | ||
select POSIX_MONOTONIC_CLOCK | ||
# select POSIX_SHARED_MEMORY_OBJECTS | ||
select POSIX_SYNCHRONIZED_IO | ||
select POSIX_THREAD_ATTR_STACKADDR | ||
select POSIX_THREAD_ATTR_STACKSIZE | ||
select POSIX_THREAD_CPUTIME | ||
select POSIX_THREAD_PRIO_INHERIT | ||
select POSIX_THREAD_PRIO_PROTECT | ||
select POSIX_THREAD_PRIORITY_SCHEDULING | ||
# select POSIX_THREAD_SPORADIC_SERVER | ||
help | ||
This option is not user configurable. | ||
|
||
config POSIX_AEP_REALTIME_CONTROLLER | ||
bool | ||
# Option Groups | ||
select POSIX_FD_MGMT | ||
select POSIX_FILE_SYSTEM | ||
# Options | ||
select POSIX_MESSAGE_PASSING | ||
# select POSIX_TRACE | ||
# select POSIX_TRACE_EVENT_FILTER | ||
# select POSIX_TRACE_LOG | ||
help | ||
This option is not user configurable. | ||
|
||
config POSIX_AEP_REALTIME_DEDICATED | ||
bool | ||
# Option Groups | ||
select POSIX_MULTI_PROCESS | ||
select POSIX_NETWORKING | ||
# select POSIX_PIPE | ||
# select POSIX_SIGNAL_JUMP | ||
# Options | ||
select POSIX_CPUTIME | ||
# select POSIX_PRIORITIZED_IO | ||
select POSIX_PRIORITY_SCHEDULING | ||
select POSIX_RAW_SOCKETS | ||
# select POSIX_SPAWN | ||
# select POSIX_SPORADIC_SERVER | ||
help | ||
This option is not user configurable. |
Oops, something went wrong.