WangRunji
58a7f7c126
simplify epoll_ctl
2019-04-12 18:02:40 +08:00
WangRunji
82f4169618
enlarge preallocated space. sync file system on exit.
2019-04-12 16:54:49 +08:00
WangRunji
b2d75f386c
support readlink "/proc/self/exe". impl dummy fcntl.getfl
2019-04-12 15:17:27 +08:00
WangRunji
a8060f0b24
add simple epoll test. fix epoll_wait, accept4
2019-04-12 15:14:11 +08:00
WangRunji
80a73eaa0d
fix close_on_spawn and file_actions
2019-04-12 14:27:48 +08:00
WangRunji
6d432b0a03
fix deadlock when log getting pid
2019-04-12 13:42:19 +08:00
WangRunji
b5697ab611
Merge remote-tracking branch 'official/master' into net
...
# Conflicts:
# src/libos/src/fs/mod.rs
# src/libos/src/syscall/mod.rs
# test/Makefile
2019-04-11 19:13:29 +08:00
WangRunji
bd9a3dd578
fix epoll_ctl deadlock
2019-04-11 19:10:12 +08:00
Tate, Hongliang Tian
2957fa99d5
Make sure VMRange fills its memory with zeros if necessary
2019-04-11 18:19:49 +08:00
Tate, Hongliang Tian
862601604c
Refactor VMRange code and fix two bugs
...
The first bug is that a VMRange may not be allocated to a 4KB-aligned address.
The second bug is that a VMRange may not be deallocated by its parent VMRange.
2019-04-11 18:19:49 +08:00
Tate, Hongliang Tian
895f70a2dc
Refactor VMRange allocation for readability
2019-04-11 09:13:53 +08:00
Tate, Hongliang Tian
356884679b
Add readlink
2019-04-11 09:13:53 +08:00
Tate, Hongliang Tian
44ef19726f
Add fcntl
2019-04-11 09:13:53 +08:00
WangRunji
f9121a025e
implement epoll
2019-04-10 14:07:50 +08:00
Tate, Hongliang Tian
785d3237b9
Add getuid, getgid, geteuid, getegid, etc.
2019-04-10 09:03:41 +08:00
Tate, Hongliang Tian
e335e8df1d
Add sigaction and sigprocmask (but not implemented)
2019-04-10 09:03:41 +08:00
Tate, Hongliang Tian
d7e266d0e3
Add access and faccessat
2019-04-10 09:03:41 +08:00
Tate, Hongliang Tian
b003f4ce43
Add prlimit64, getrlimit, and setrlimit
2019-04-10 09:03:41 +08:00
Tate, Hongliang Tian
8846c62b5e
Add uname
2019-04-10 09:03:41 +08:00
WangRunji
7bd2ce50f2
implement select and poll without test
2019-04-09 00:04:44 +08:00
WangRunji
f62809096e
use libc::off_t
2019-04-08 16:22:52 +08:00
WangRunji
5b90d90643
implement SocketFile. pass socket test
2019-04-07 11:47:54 +08:00
WangRunji
e5bc58d3f0
simplify log color
2019-04-07 11:28:05 +08:00
WangRunji
f711d20475
add socket syscalls, directly forward to libc
2019-04-07 11:28:05 +08:00
Tate, Hongliang Tian
660d0931cd
Add Pthread test
2019-04-06 22:55:16 +08:00
Tate, Hongliang Tian
13e4a898dd
Add gettid
2019-04-06 22:55:16 +08:00
Tate, Hongliang Tian
2f2b74a570
Add set_tid_address
2019-04-06 22:55:16 +08:00
Tate, Hongliang Tian
8dfeb71c90
Pass arg5 for system calls
2019-04-06 22:55:16 +08:00
Tate, Hongliang Tian
db40e8f52b
Enable Thread Local Storage (TLS)
...
Add arch_prctl and pass necessary ELF info to libc via aux vector
2019-04-06 22:55:16 +08:00
Tate, Hongliang Tian
b2e626760b
Add futex
2019-04-03 13:41:55 +08:00
Tate, Hongliang Tian
4cf8777592
Add clone system call
2019-04-03 13:41:55 +08:00
WangRunji
6c61ab5f56
optimize imports and run cargo fmt
2019-03-29 14:20:25 +08:00
WangRunji
4e8801850d
update SEFS crate, move sgx_impl to libos
2019-03-29 14:20:25 +08:00
WangRunji
d5e8d43e7b
fix and add test for readv, writev, lseek
2019-03-29 14:20:25 +08:00
WangRunji
e095e8a4f0
fix split_path. add test for getcwd, mkdir, rmdir, chdir.
2019-03-29 14:20:25 +08:00
WangRunji
002d1f1dd2
add sys_rmdir. fix sys_sync, sys_unlink.
2019-03-29 14:20:25 +08:00
WangRunji
694fb32a35
add sys_chdir, sys_rename, sys_mkdir, sys_(un)link
2019-03-29 14:20:25 +08:00
WangRunji
fc145097b2
add sys_pread, sys_pwrite
2019-03-29 14:20:25 +08:00
WangRunji
c1c61c4e21
find out the STUPID bug. recover syscall consts.
2019-03-29 14:20:25 +08:00
WangRunji
6e9f00b5db
fix process cwd. fix open path
2019-03-29 14:20:25 +08:00
WangRunji
0ec4ba9305
load program bin from SEFS
2019-03-29 14:20:25 +08:00
WangRunji
6ac31aedd7
fix WEIRD STUPID RUST bug: replace consts by literals
2019-03-29 14:20:25 +08:00
WangRunji
168c2ddf0a
add logger
2019-03-29 14:20:25 +08:00
WangRunji
7c855d7f5f
implement a lot fs syscalls without test
2019-03-29 14:20:25 +08:00
WangRunji
3b38c3b75a
refactor syscall: move dispatch_syscall to Rust
2019-03-29 14:20:25 +08:00
WangRunji
0cf714f54e
add sys_getcwd
2019-03-29 14:20:25 +08:00
WangRunji
a3c49c2a3e
use crate bitflags
2019-03-29 14:20:25 +08:00
WangRunji
557eb7dc60
fix sys_open. import crate log.
2019-03-29 14:20:25 +08:00
WangRunji
d56378d96a
fix TimeProvider. enable INodeFile
2019-03-29 14:20:25 +08:00
WangRunji
0105756897
add fs submodule. import fs crate to libos
2019-03-29 14:20:25 +08:00
Tate, Hongliang Tian
7fcf195359
Upgrade Rust SGX SDK to v1.0.6
...
... and Intel SGX SDK to v2.4, Rust to nightly-2019-01-28
2019-02-23 16:31:01 +08:00
Tate, Hongliang Tian
602fef10f8
Reformat Rust code using cargo fmt
2019-02-17 22:41:51 +08:00
Tate, Hongliang Tian
78e94fe29b
Add sync syscall
2019-02-16 16:24:08 +08:00
Tate, Hongliang Tian
a1ea05dc41
Add a few comments to vm subsystem
2019-02-16 16:24:08 +08:00
Tate, Hongliang Tian
22edefc349
Add pipe throughput benchmark
2019-02-16 16:24:08 +08:00
Tate, Hongliang Tian
d1731162eb
Add perf test for spawn+wait4
2019-02-16 16:24:08 +08:00
Tate, Hongliang Tian
71d119181e
Support argc and argv for child process after spawn
2019-02-16 16:24:08 +08:00
Tate, Hongliang Tian
ad704c421f
Add argc and argv support
2019-02-16 16:24:08 +08:00
Tate, Hongliang Tian
d3009db10b
Add gettimeofday
2019-02-16 16:24:08 +08:00
Tate, Hongliang Tian
cdf3a2c3e0
Small fix to malloc test
2019-02-16 16:24:08 +08:00
Tate, Hongliang Tian
a712bfe70a
Add pipe test
2019-02-16 16:24:08 +08:00
Tate, Hongliang Tian
a2b62891cc
Add file I/O test
2019-02-16 16:24:08 +08:00
Tate, Hongliang Tian
2b4c8255c6
Improve the build system
2019-02-16 16:24:08 +08:00
Tate, Hongliang Tian
77a18bbc4d
Add dup, dup2, and dup3
2019-02-16 16:23:30 +08:00
Tate, Hongliang Tian
d40af94aaf
Support O_CLOEXEC on open() or pipe2()
2019-02-16 16:23:30 +08:00
Tate, Hongliang Tian
c00fddd2bf
Add pipe syscall
2019-02-16 16:23:30 +08:00
Tate, Hongliang Tian
37f724c656
Release Process resources via Weak reference
2019-02-16 16:23:30 +08:00
Tate, Hongliang Tian
c31f5334d7
Small fix to Waiter and WaitQueue
2019-02-16 16:23:30 +08:00
Tate, Hongliang Tian
5b7048976e
Add spawn and wait4 test
2019-02-16 16:23:30 +08:00
Tate, Hongliang Tian
d960792ef3
Add Waiter and WaitQueue
2019-02-16 16:23:30 +08:00
Tate, Hongliang Tian
372649f3d6
Add getpid and getppid
2019-02-16 16:23:30 +08:00
Tate, Hongliang Tian
b717842113
Switch user/kernel fsbase
2019-02-16 16:23:30 +08:00
Tate, Hongliang Tian
05e5efdb57
Handle exit status correctly
2019-02-16 16:23:30 +08:00
Tate, Hongliang Tian
e5d3ab3cf9
Enable MPX
2019-02-16 16:23:30 +08:00
Tate, Hongliang Tian
8601c5da35
Refactor syscall- and fs-related code into modules
2019-02-16 16:23:30 +08:00
Tate, Hongliang Tian
0cda8dffe7
Works on SGX 1.0
2019-02-16 16:23:30 +08:00
Tate, Hongliang Tian
e9064e3914
Upgrade Rust SGX SDK to v1.0.4
2019-02-16 16:23:30 +08:00
Tate, Hongliang Tian
ea00690e68
Add mmap, munmap, mremap and brk syscalls
2019-02-16 16:23:30 +08:00
Tate, Hongliang Tian
852903de20
Add virtual memory subsystem
2019-02-16 16:23:30 +08:00
Tate, Hongliang Tian
4107a65248
Enable libc's printf
2019-02-16 16:23:30 +08:00
Tate, Hongliang Tian
10e3da87cc
Add lseek
2019-02-16 16:23:30 +08:00
Tate, Hongliang Tian
f2ebc5c330
Add readv and writev
2019-02-16 16:23:30 +08:00
Tate, Hongliang Tian
4c3f556c7d
Do relocation for .rela.dyn section
2019-02-16 16:23:30 +08:00
Tate, Hongliang Tian
cf77c3a9a8
Init program stack to pass argc, argv, etc.
2019-02-16 16:23:30 +08:00
Tate, Hongliang Tian
f0e7bae0d7
Works with a minimal version of Occlum's libc
2019-02-16 16:23:30 +08:00
Tate, Hongliang Tian
a4f37f8917
Use new name Occlum in code
2019-02-16 16:23:30 +08:00
Tate, Hongliang Tian
a66c55f95f
Add open, read, write and close
2019-02-16 16:23:30 +08:00
Tate, Hongliang Tian
757d3f2f4d
Use my forked xmas-elf as a submodule
2019-02-16 16:23:30 +08:00
Tate, Hongliang Tian
68d459975d
Minimize the # of memory pages whose permissions are modified
2019-02-16 16:23:30 +08:00
Tate, Hongliang Tian
b041dee55c
Release resources when processes destroyed
2019-02-16 16:23:30 +08:00
Tate, Hongliang Tian
4fbfe7bf0c
Add syscall getpid and wait4 (this latter one is fake)
2019-02-16 16:23:30 +08:00
Tate, Hongliang Tian
637e15f6c6
Add syscall spawn
2019-02-16 16:23:30 +08:00
Tate, Hongliang Tian
7671dbf470
Load and run a Hello World program
2019-02-16 16:23:30 +08:00
Tate, Hongliang Tian
c1ddfac700
Remove unnecessary copyright header
2019-02-16 16:16:50 +08:00
Tate, Hongliang Tian
264ac7f993
Add write syscall and prints Hello World
2018-07-01 15:57:41 +08:00