Commit Graph

265 Commits

Author SHA1 Message Date
Hui, Chunyang
6cb9ca7e44 Add sendmsg/recvmsg support for unix domain socket 2022-08-23 20:37:57 +08:00
Hui, Chunyang
71c4937b45 Fix listening socket epoll_wait not waken by connect 2022-08-23 20:37:57 +08:00
Hui, Chunyang
f87ee7c7a4 Support munmap multiple single VMA chunks with remaining ranges 2022-08-23 16:58:03 +08:00
LI Qing
54de00a3bc Fix the issue when path is suffixed by "/" 2022-08-15 09:21:52 +08:00
Hui, Chunyang
d1acb84362 Add support for /proc/self(pid)/maps 2022-08-08 08:40:52 +08:00
zhubojun
b65cb4e017 [tools] Support configuring PKU in Occlum.json 2022-07-17 17:12:14 +08:00
LI Qing
1dc2b517fc Fix the issue about fsync on hostfs's dir
There are no sync methods about untrusted dir, so we do nothing.
2022-07-13 13:42:51 +08:00
LI Qing
a3e2f54a6d Disable DCAP of ioctl test in hyper mode 2022-07-06 15:31:56 +08:00
zhubojun
78450e58f8 [test] Add test for SHM 2022-04-28 20:05:50 +08:00
Hui, Chunyang
3e15eb059c Add support for mmap spans over two chunks with MAP_FIXED 2022-03-30 17:38:37 +08:00
zhubojun
df36a6bbbb [test] Add test case for UTIME 2022-03-22 17:59:00 +08:00
LI Qing
66d1ebe918 [hyper mode] Add compile support 2022-03-19 15:32:45 +08:00
LI Qing
f611e9c008 [hyper mode] Dismiss the valiadation of QE report 2022-03-19 15:32:45 +08:00
LI Qing
e735cf00fb [test] Fix the errors in cpuid test 2022-03-19 15:32:45 +08:00
LI Qing
d0f6c9b6b6 Add test case for FLOCK 2022-03-09 16:00:23 +08:00
LI Qing
91f025f1c8 Rename the flock test case to posix_flock 2022-03-09 16:00:23 +08:00
zongmin.gu
c58f61c56e Enable simulation interrupt mode support 2021-12-14 10:58:09 +08:00
Zheng, Qi
7db9d9b955 Add SGX KSS support
Signed-off-by: Zheng, Qi <huaiqing.zq@antgroup.com>
2021-12-06 15:46:34 +08:00
LI Qing
e75c10ba79 Add the mount test case in make test 2021-12-02 16:24:15 +08:00
LI Qing
7bc2c336b6 Add mount and umount syscall 2021-11-29 15:11:37 +08:00
Zheng, Qi
6b8f24c18b Fix timing issue in test_sendmsg_recvmsg_connectionless
Signed-off-by: Zheng, Qi <huaiqing.zq@antgroup.com>
2021-11-03 20:33:22 +08:00
LI Qing
9f763f84b1 Add the check of pathname in rename syscall 2021-10-22 18:01:25 +08:00
Hui, Chunyang
1745825e81 Add support for mprotect PROT_GROWSDOWN 2021-10-18 19:49:28 +08:00
Hui, Chunyang
16966c0b28 Fix sysinfo and env test case failure in stress test 2021-10-18 13:04:39 +08:00
Hui, Chunyang
bdb7825607 Add support for mremap 2021-10-17 15:58:29 +08:00
Hui, Chunyang
6dd73c64b5 Improve userspace VM management
Occlum is a single-address-space library OS. Previously, userspace memory are divided for each process.
And all the memory are allocated when the process is created, which leads to a lot of wasted space and
complicated configuration.

In the current implementation, the whole userspace is managed as a memory pool that consists of chunks. There
are two kinds of chunks:
(1) Single VMA chunk: a chunk with only one VMA. Should be owned by exactly one process.
(2) Multi VMA chunk: a chunk with default chunk size and there could be a lot of VMAs in this chunk. Can be used
by different processes.

This design can help to achieve mainly two goals:
(1) Simplify the configuration: Users don't need to configure the process.default_mmap_size anymore. And multiple processes
running in the same Occlum instance can use dramatically different sizes of memory.
(2) Gain better performance: Two-level management(chunks & VMAs) reduces the time for finding, inserting, deleting, and iterating.
2021-10-17 15:58:29 +08:00
Hui, Chunyang
d60bdd3771 Add stress test capabilites for make test 2021-10-15 11:52:53 +08:00
zongmin.gu
17d79b56a2 Fix aliyunlinux test 2021-10-01 08:29:25 +08:00
LI Qing
8f4fbba220 Add file POSIX advisory range lock 2021-09-15 11:15:42 +08:00
zongmin.gu
d52d9eddb8 Test DCAP ioctl only on SGX2 HW 2021-09-09 14:09:03 +08:00
zongmin.gu
de2fcc9bc1 Fix the cpuid test case issue 2021-09-09 14:09:03 +08:00
LI Qing
d24f89fd9c Add getrandom syscall 2021-09-06 19:20:51 +08:00
LI Qing
29eed82a7e Add support for the mode of fallocate 2021-09-01 19:24:22 +08:00
Hui, Chunyang
99688183f0 Add vfork support 2021-08-24 11:24:03 +08:00
Hui, Chunyang
88f04c8df9 Add process group implementation and support set/getpgid, set/getpgrp 2021-08-20 08:34:44 +08:00
LI Qing
87c1c9a8b3 Add support for umask 2021-08-09 16:50:53 +08:00
LI Qing
b390ecaae9 Add creat syscall 2021-08-06 10:40:44 +08:00
LI Qing
865e38258b Add support for '/proc/[pid]/stat'
Many field values are displayed as 0
2021-08-05 16:10:54 +08:00
LI Qing
33876e122f Fix the compiler's warnings in make test with glibc 2021-08-04 12:00:31 +08:00
Hui, Chunyang
b2b86b796a Add support for /dev/fd 2021-08-03 21:30:15 +08:00
LI Qing
dc37995bf0 Add getdents support for procfs's inode 2021-08-03 20:40:07 +08:00
LI Qing
42bed8d338 Remove the mount config for tmp dir 2021-08-03 19:45:56 +08:00
LI Qing
215e8ffbdf Add support for robust futex syscalls 2021-07-30 10:25:24 +08:00
ClawSeven
d35d98d551 Add resolv-conf parser 2021-07-28 10:52:46 +08:00
LI Qing
a54de67431 Fix the wrong value returned from getcwd
`getcwd` should return the length of buffer filled
2021-07-27 13:05:35 +08:00
LI Qing
17e4810d3e Add support for "/proc/[pid]/comm" and fix "/proc/[pid]/cmdline" 2021-07-20 19:56:12 +08:00
ClawSeven
eb07b01ac0 Support timerfd-related syscall 2021-07-16 14:36:27 +08:00
Hui, Chunyang
09b7828f44 Disable busyloop test case due to signal handling constraints in SIM mode 2021-06-25 21:12:42 +08:00
Hui, Chunyang
c62b6d4091 Add support for execve
RFC: https://github.com/occlum/occlum/issues/429
2021-06-10 20:59:06 +08:00
Hui, Chunyang
0dc85f8229 Add support for indexing unix domain socket file with inode 2021-06-10 20:50:30 +08:00