Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

posix: options: add XSI_REALTIME option group #83303

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

cfriedt
Copy link
Member

@cfriedt cfriedt commented Dec 21, 2024

@cfriedt cfriedt requested a review from ycsin December 21, 2024 15:23
@cfriedt cfriedt force-pushed the issues/82004/posix-create-xsi-realtime-option-group branch 2 times, most recently from da74584 to 3a0cd37 Compare December 21, 2024 15:36
@cfriedt cfriedt force-pushed the issues/82004/posix-create-xsi-realtime-option-group branch 5 times, most recently from 57c39c1 to 4271c7a Compare December 22, 2024 16:24
lib/posix/options/mlock.c Outdated Show resolved Hide resolved
lib/posix/options/mlockall.c Outdated Show resolved Hide resolved
@cfriedt cfriedt force-pushed the issues/82004/posix-create-xsi-realtime-option-group branch 2 times, most recently from c66b962 to 561d6c0 Compare December 23, 2024 02:23
@cfriedt cfriedt marked this pull request as ready for review December 23, 2024 10:52
@zephyrbot zephyrbot added the area: POSIX POSIX API Library label Dec 23, 2024
@cfriedt cfriedt requested a review from ycsin December 23, 2024 12:13
ycsin
ycsin previously approved these changes Dec 24, 2024
Copy link
Member

@ycsin ycsin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

lib/posix/options/Kconfig.mem Outdated Show resolved Hide resolved
@cfriedt
Copy link
Member Author

cfriedt commented Dec 24, 2024

Reviewers might want to take a look workarounds for some weird corner cases

  • demand paging / default ram backend instead of no implementation (@npitre)
  • xtensa linker script syntax error (@ceolin)
  • 32-bit x86 and userspace issue (@dcpleung)

The latter two should be reproducible by undoing the workaround commits.

@cfriedt
Copy link
Member Author

cfriedt commented Jan 7, 2025

I'll see if I can separate this PR into smaller, more manageable ones.

Currently, it's blocking #81859, #79454, and others and should have reviews by @dcpleung @ceolin and @npitre on the topics mentioned above.

@cfriedt cfriedt force-pushed the issues/82004/posix-create-xsi-realtime-option-group branch from 561d6c0 to ec1234e Compare January 7, 2025 12:58
@cfriedt
Copy link
Member Author

cfriedt commented Jan 7, 2025

  • rebase on main

POSIX mlock() and munlock() require an MMU as well as
DEMAND_PAGING.

Signed-off-by: Chris Friedt <[email protected]>
@cfriedt cfriedt force-pushed the issues/82004/posix-create-xsi-realtime-option-group branch from ec1234e to 174b929 Compare January 11, 2025 14:59
For the REALTIME_MINIMAL Application Environment Profile, uncomment
the POSIX_MEMLOCK, POSIX_MEMLOCK_RANGE, POSIX_MEMORY_PROTECTION,
POSIX_MAPPED_FILES, and POSIX_SHARED_MEMORY_OBJECTS options.

These should have been uncommented back when Kconfig options for
those features were added, so this can probably be called a
Kconfig bug.

Signed-off-by: Chris Friedt <[email protected]>
Since XSI is composed of several distinct POSIX Option Groups
split Kconfig.xsi into separate files - one for each Option
Group.

Signed-off-by: Chris Friedt <[email protected]>
Add a POSIX Option Group called XSI_REALTIME (with Kconfig
option CONFIG_XSI_REALTIME).

When XSI_REALTIME is selected (or when required POSIX Options
are enabled), define _XOPEN_REALTIME to be something other
than -1 (_XOPEN_VERSION seemed appropriate).

Signed-off-by: Chris Friedt <[email protected]>
@cfriedt cfriedt force-pushed the issues/82004/posix-create-xsi-realtime-option-group branch from 174b929 to b5e59fb Compare January 11, 2025 15:00
@cfriedt
Copy link
Member Author

cfriedt commented Jan 11, 2025

@dcpleung - have some strange x86 errors here. Do they mean anything to you?

https://github.com/zephyrproject-rtos/zephyr/actions/runs/12725218655/job/35472486658#step:12:1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: POSIX POSIX API Library
Projects
None yet
Development

Successfully merging this pull request may close these issues.

posix: create XSI_REALTIME option group
4 participants