Skip to content

Commit

Permalink
Async usercall interface for SGX enclaves
Browse files Browse the repository at this point in the history
Credits for this commit go to:
Mohsen: fortanix#404
YxC: fortanix#441

This commit is an attempt to have the async-usercalls finally merged
into the main codebase (master branch).
  • Loading branch information
Vasili Novikov committed Jan 17, 2024
1 parent 8b187bd commit 37461c2
Show file tree
Hide file tree
Showing 25 changed files with 2,273 additions and 87 deletions.
117 changes: 87 additions & 30 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ members = [
"fortanix-vme/tests/iron",
"fortanix-vme/vme-pkix",
"intel-sgx/aesm-client",
"intel-sgx/async-usercalls",
"intel-sgx/dcap-provider",
"intel-sgx/dcap-ql-sys",
"intel-sgx/dcap-ql",
Expand Down
3 changes: 3 additions & 0 deletions doc/generate-api-docs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,9 @@ for LIB in $LIBS_SORTED; do
if FEATURES="$(cargo read-manifest|jq -r '.metadata.docs.rs.features | join(",")' 2> /dev/null)"; then
ARGS="--features $FEATURES"
fi
if grep -q 'feature(sgx_platform)' ./src/lib.rs; then
ARGS+=" --target x86_64-fortanix-unknown-sgx"
fi
cargo doc --no-deps --lib $ARGS
popd
fi
Expand Down
29 changes: 29 additions & 0 deletions intel-sgx/async-usercalls/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
[package]
name = "async-usercalls"
version = "0.5.0"
authors = ["Fortanix, Inc."]
license = "MPL-2.0"
edition = "2018"
description = """
An interface for asynchronous usercalls in SGX enclaves.
This is an SGX-only crate, you should compile it with the `x86_64-fortanix-unknown-sgx` target.
"""
repository = "https://github.com/fortanix/rust-sgx"
documentation = "https://edp.fortanix.com/docs/api/async_usercalls/"
homepage = "https://edp.fortanix.com/"
keywords = ["sgx", "async", "usercall"]
categories = ["asynchronous"]

[dependencies]
# Project dependencies
ipc-queue = { version = "0.2", path = "../../ipc-queue" }
fortanix-sgx-abi = { version = "0.5.0", path = "../fortanix-sgx-abi" }

# External dependencies
lazy_static = "1.4.0" # MIT/Apache-2.0
crossbeam-channel = "0.5" # MIT/Apache-2.0
fnv = "1.0" # MIT/Apache-2.0

# For cargo test --target x86_64-fortanix-unknown-sgx
[package.metadata.fortanix-sgx]
threads = 128
Loading

0 comments on commit 37461c2

Please sign in to comment.