You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Notable limitation of system call support in Mystikos
System calls are contracts between user applications and the kernel.
We consider several factors when deciding whether, when, or how complete
we implement a particular system call in Mystikos kernel:
The hardware limitations. Some limitations are are outlined in
this.
Applicability. Whether the syscall is applicable in a TEE context.
Popularity. The more applications uses the syscall, the higher
priority it is to us.
Complexity. If all other factors equal, the more complex the syscall
support is, the longer it takes to design, implement and validate the
support.
Out of the system calls that are not fully supported yet, we have three
compatibility levels compared to Linux kernel:
Unsupported: the syscall is not supported by Mystikos, in the
current implementation. Any invocation, directly, or indirectly, from
the application, results in a crash.
Stub only: In the current implementation, Mystikos does nothing
more than making an acknowledgement to the caller. This no-op could
satisfy the application most times, unless
the application has a hard dependency on the effects of the syscall.
Partial: In the current implementation, the kernel only handles
some cases or aspects of the syscall.
The following lists of system call support limitation are by no means
exhaustive. The lists may seem long, but keep in mind that many of them
are not applicable to a TEE context or rarely used by typical applications.
The current implementation of Mystikos has already unlocked a large set of
user applications with these incompatibilities. And we are actively working
on lowering the incompatibilities to enable more applications.