zongmin.gu
3163a62963
Bump version to 0.18.0
2020-11-20 09:24:24 +08:00
Hui, Chunyang
9c3f595f0e
Add support for building docker image with specific Occlum branch
2020-11-20 09:24:24 +08:00
LI Qing
4769a2600e
Add FUTEX_WAIT_BITSET and FUTEX_WAKE_BITSET options for futex syscall
2020-11-20 09:24:24 +08:00
Hui, Chunyang
52fcc622ea
Enhance SGX hardware mode CI test
...
1. Enable gRPC test
2. Always clean the docker
3. Support parallel jobs
2020-11-20 09:24:24 +08:00
Tate, Hongliang Tian
34288a5e37
Use HostFd to manage the lifetime of host OS resources
2020-11-19 08:13:57 +08:00
Tate, Hongliang Tian
83ce318f6c
Unregister a file from epoll files when the file is closed
...
Usually, files are unregistered from an epoll file via the EPOLL_CTL_DEL command
explicitly. But for the sake of users' convenience, Linux supports
unregistering a file automatically from the epoll files that monitor the file
when the file is closed. This commit adds this capability.
2020-11-18 22:17:23 +08:00
Hui, Chunyang
787df74be0
Fix Python test malloc failure on SGX machine
...
Using tcmalloc could consume more heap. Enlarging kernel heap allocation
can fix this.
Also print result for Python test.
2020-11-18 22:13:34 +08:00
Tate, Hongliang Tian
1de089ac7d
Rewrite the select syscall using the new poll implementation
2020-11-18 19:35:04 +08:00
Tate, Hongliang Tian
a857cf9bfb
Fix a design flaw in handling events of host files
2020-11-18 19:35:04 +08:00
Tate, Hongliang Tian
798cbfd843
Fix pushing/popping zero-length slices to/from Channel
2020-11-18 19:35:04 +08:00
Tate, Hongliang Tian
10f3ffa9e6
Fix Channel's notifier being inconsistent with poll/epoll
2020-11-18 19:35:04 +08:00
Tate, Hongliang Tian
5b6d06b808
Fix a bug in poll's handling of input pollfds
2020-11-18 19:35:04 +08:00
Hui, Chunyang
554f7dd2c5
Add SGX hardware mode test
...
Currently, only a subset of tests are enabled. Other tests will be
enabled in the future.
2020-11-18 17:18:31 +08:00
zongmin.gu
0490164a8f
Replace dlmalloc with tcmalloc
2020-11-18 16:46:38 +08:00
LI Qing
9bf2a77e16
Add getdents syscall
2020-11-18 16:44:11 +08:00
Hui, Chunyang
4d4caa2265
Add CentOS test for CI
2020-11-18 11:54:22 +08:00
Hui, Chunyang
72ad448cf9
Fix cargo fmt error
2020-11-18 11:54:22 +08:00
zongmin.gu
9504e8f681
Enable optimized string and math lib in Occlum
2020-11-17 14:42:39 +08:00
zongmin.gu
d63bfac61c
Remove the FP area initialization code
...
When using the optimized string lib in Occlum, the memset function would
use xmm0 register, as the result, the FP area initialization code would
modify the FP area before saving it. So just ignor the FP area
initialization code.
2020-11-17 14:42:39 +08:00
LI Qing
5f05c16700
Init the memory for elf to zero
2020-11-16 15:04:13 +08:00
Hui, Chunyang
300518a101
Use new env configuration for github action
2020-11-16 11:55:10 +08:00
Shirong Hao
2e0e8d602f
Add Rune Demo test
2020-11-13 18:59:02 +08:00
Tate, Hongliang Tian
71df1cf2c8
Add the new poll implementation
2020-11-12 15:49:20 +08:00
Tate, Hongliang Tian
7133315f46
Make the IoEvents type to more complete and robust
2020-11-12 15:49:20 +08:00
He Sun
4260a8defc
Fix two cpuid bugs
...
1. >> has higher precedence than &. Use parentheses to conduct & first;
2. In the latest Intel software developer's manual, cpuid leaf 06H EDX
is related to the logical processor.
2020-11-12 15:48:04 +08:00
Zongmin.Gu
328b203817
Update the bug report template with comments
2020-11-12 15:46:24 +08:00
Zongmin.Gu
da5be1cad6
Update issue templates
2020-11-12 15:46:24 +08:00
Tate, Hongliang Tian
6fdfa57a14
Add the new epoll implementation
...
Before this commit, the epoll implementation works by simply delegating to the
host OS through OCall. One major problem with this implementation is
that it can only handle files that are backed by a file of the host OS
(e.g., sockets), but not those are are mainly implemented by the LibOS
(e.g., pipes). Therefore, a new epoll implementation that can handle all
kinds of files is needed.
This commit completely rewrites the epoll implementation by leveraging
the new event subsystem. Now the new epoll can handle all file types:
1. Host files, e.g., sockets, eventfd;
2. LibOS files, e.g., pipes;
3. Hybrid files, e.g., epoll files.
For a new file type to support epoll, it only neends to implement no
more than four methods of the File trait:
* poll (required for all file types);
* notifier (required for all file files);
* host_fd (only required for host files);
* recv_host_events (only required for host files).
2020-11-10 14:34:40 +08:00
Tate, Hongliang Tian
2ff4b1c776
Reduce the FileRef type to Arc<dyn File>
...
The FileRef type was defined as Arc<Box<dyn File>>, where the use of Box is
unnecessary. This commit reduces the type to Arc<dyn File>.
2020-11-10 14:34:40 +08:00
LI Qing
6e83595b74
Fix the return value of getcwd syscall
2020-11-09 19:45:21 +08:00
LI Qing
f87bbc586b
Fix the alignment of stack entrypoint
...
Libc ABI requires 16-byte alignment of the stack entrypoint
2020-11-09 19:43:00 +08:00
LI Qing
1882458862
Mitigate SEFS's consistency and atomic issues
2020-11-07 11:45:37 +08:00
Shirong Hao
9d059ad057
Update the path of rune binary to /usr/local/bin/rune
2020-11-06 08:39:55 +08:00
He Sun
9dd94cdbd6
Fix the conflict of symbols with glibc
2020-11-05 21:57:48 +08:00
He Sun
0bb8f5922e
Use sccache to accelerate Rust build
2020-11-05 21:54:57 +08:00
jeffery.wsj
fe2a5629ba
Add Dragonwell11 for enclave build and install README.md
2020-11-02 12:36:15 +08:00
Shirong Hao
fc0bb79de8
Update runE Quick Start doc
...
1. Running Occlum application with docker and rune instead of Occlum application bundle
2. Update to occlum-0.17.0 and rune-0.5.0
3. Using Occlum installer instead of Occlum sdk image to build Occlum application
2020-10-29 22:25:34 +08:00
Hui, Chunyang
12ace2600c
Add package deployment and test action
2020-10-29 14:03:59 +08:00
zongmin.gu
a5c2e553b7
Bump version to 0.17.0
2020-10-22 19:53:20 +08:00
Hui, Chunyang
8d1e1838d3
Fix package build errors
...
1. Fix repeatedly linking dynamic libraries for occlum-run
2. Fix gcc toolchain deb package build error
3. Remove redundant file from installer file list
4. Change symlink target path to relative path
2020-10-22 16:47:47 +08:00
He Sun
4f02e71160
Only copy the received data to user space in recvmsg
...
Redundant copy may result in dirty data.
2020-10-22 15:51:07 +08:00
He Sun
dd63f0194f
Refine the data comparison in server_epoll test
...
Verify received data with the length of the data sent from client.
Otherwise, it may fail when there was dirty data in the buffer for
receiving.
2020-10-22 15:51:07 +08:00
Hui, Chunyang
66bd826b6b
Fix softlinks in sdk_libs to point to customized sgxsdk libraries
2020-10-21 17:51:22 +08:00
superajun-wsj
bef3201aef
Update demos/font/font_support_for_java/README.md
...
OK
Co-authored-by: Zongmin.Gu <59240482+guzongmin@users.noreply.github.com>
2020-10-21 17:41:49 +08:00
jeffery.wsj
7eb132c2b2
Support occlum font for java
2020-10-21 17:41:49 +08:00
LI Qing
28f47dacce
Add ioctl support for FIONBIO command
2020-10-21 12:51:18 +08:00
He Sun
d590486029
Refactor host socket
...
1. Add Rust memory-safe types, e.g., socket_address, address_family and socket_type;
2. Implement Berkeley Sockets API for HostSocket.
2020-10-21 12:24:00 +08:00
LI Qing
230e6fa380
Report the underlying SGX protected file I/O error
2020-10-21 12:20:52 +08:00
He Sun
9a47791ae3
Put the shebang in the front of run_occlum_bench.sh
2020-10-21 10:38:11 +08:00
Hui, Chunyang
3b5a84a129
Add libos symbolic link of hardware mode for installation
2020-10-19 13:12:18 +08:00