-
Notifications
You must be signed in to change notification settings - Fork 202
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
[PAL/Linux-SGX] AEX-Notify 1/5: Prepare AEX handler to call C code in release mode #2025
base: master
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewable status: 0 of 6 files reviewed, all discussions resolved, not enough approvals from maintainers (2 more required), not enough approvals from different teams (1 more required, approved so far: Intel)
pal/src/host/linux-sgx/host_entry.S
line 18 at r1 (raw file):
.extern tcs_base .extern g_in_aex_profiling
tcs_base
and g_in_aex_profiling
don't exist (some historic artifacts). Removed them, though they are unrelated to this PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewable status: 0 of 6 files reviewed, 1 unresolved discussion, not enough approvals from maintainers (2 more required), not enough approvals from different teams (1 more required, approved so far: Intel)
-- commits
line 8 at r1:
Here and everywhere: the correct spelling is AEX-Notify
, with a dash. Change.
Previously, the AEX handler only called C code (more specific to our use case, the code that works on the untrusted-thread stack) for SGX profiling logic and only when Gramine was built in debug mode. As a preparation for AEX-Notify support, this commit modifies the AEX handler such that it can call C code when Gramine is built in release mode. Also, the AEX handler logic is not restricted to SGX profiling only, so the `_PROF`/`_prof` suffixes in related function and variable names are removed. This commit also adds two small prerequisites for AEX-Notify: (1) `eenter_pointer` helper so that signal handling logic can learn whether an exception happened at EENTER instruction, and (2) dummy function `maybe_raise_pending_signal` that will be populated in a later commit. Signed-off-by: Dmitrii Kuvaiskii <dmitrii.kuvaiskii@intel.com>
0e7cac7
to
b9b90ed
Compare
b9b90ed
to
b272b9d
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewable status: 0 of 6 files reviewed, all discussions resolved, not enough approvals from maintainers (1 more required), not enough approvals from different teams (1 more required, approved so far: Intel)
Previously, dimakuv (Dmitrii Kuvaiskii) wrote…
Here and everywhere: the correct spelling is
AEX-Notify
, with a dash. Change.
Done
Description of the changes
Part 1 in AEX-Notify series.
Previously, the AEX handler only called C code (more specific to our use case, the code that works on the untrusted-thread stack) for SGX profiling logic and only when Gramine was built in debug mode.
As a preparation for AEX-Notify support, this commit modifies the AEX handler such that it can call C code when Gramine is built in release mode. Also, the AEX handler logic is not restricted to SGX profiling only, so the
_PROF
/_prof
suffixes in related function and variable names are removed.This commit also adds two small prerequisites for AEX-Notify: (1)
eenter_pointer
helper so that signal handling logic can learn whether an exception happened at EENTER instruction, and (2) dummy functionmaybe_raise_pending_signal
that will be populated in a later commit.See also related PRs and discussions:
How to test this PR?
CI is enough.
This change is