Tate, Hongliang Tian
a2169e63e8
Upgrade Dockerfile for dynamic-linking support
2019-08-01 12:23:37 +00:00
Tate, Hongliang Tian
e11c30c5c5
Run dynamically-linked hello world
2019-07-20 03:34:00 +00:00
Tate, Hongliang Tian
33739cc00b
Program loader loads ld.so now
2019-07-20 03:34:00 +00:00
Tate, Hongliang Tian
a579f84e90
Enable new system call mechanism via Auxiliary Vector
...
The old system call mechanism works by relocating the symbol __occlum_syscall
provided by libocclum_stub.so to the real entry point of the LibOS. This symbol
relocation is done by the program loader. Now, the new system call mechanism is
based on passing the entry point via the auxiliary vector. This new mechanism
is simpler and is more compatible with the upcoming support for ld.so.
Changes:
1. Fix a bug in serializing auxiliary vector in the stack of a user program;
2. Passing syscall entry via auxiliary vector;
3. Remove relocating for the __occlum_syscall symbol;
4. Remove the dependency on libocclum_stub.so in tests.
2019-07-20 03:34:00 +00:00
Tate, Hongliang Tian
8686322afb
Add /dev/zero, /dev/random, /dev/urandom, and /dev/arandom
2019-07-19 12:30:15 +00:00
Tate, Hongliang Tian
8cda63ab3a
Use SEFS at /, HostFS at /host, and RamFS at /tmp
2019-07-19 10:25:33 +00:00
Wang Runji
7f229cef50
add simple HostFS, mount it at /host
2019-07-19 03:51:38 +00:00
散樗
2553298b1d
Handle cpuid and rdtsc instruction
...
Init support for cpuid and rdtsc instruction handling in occlum.
This patch includes:
1. cpuid exception handler for all information leaves;
2. rdtsc exception handler;
3. handler registration;
4. cpuid test;
5. rdtsc test.
Signed-off-by: 散樗 <kailun.qkl@antfin.com>
2019-07-18 13:51:50 +08:00
Tate, Hongliang Tian
56c69b5f3c
Refactor mmap implementation
...
1. Add a full test suite for mmap
2. Implement file-backed memory mapping
3. Implement fixed, anonymous memory mapping
4. Implement hinted, anonymous memory mapping
5. Implement munmap that covers partial/multiple memory mappings
2019-07-01 11:56:04 +08:00
Youren
3a38f68c69
Add c++ examples
2019-06-01 11:22:04 +08:00
WangRunji
cccc1cfb58
add unix socket bench
2019-04-24 13:41:01 +08:00
WangRunji
9797a64f06
enable unix socket and add test for it
2019-04-24 13:28:35 +08:00
WangRunji
a8060f0b24
add simple epoll test. fix epoll_wait, accept4
2019-04-12 15:14:11 +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
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
5b90d90643
implement SocketFile. pass socket test
2019-04-07 11:47:54 +08:00
WangRunji
0dda84d7f2
add test for simple socket syscalls
2019-04-07 11:28:43 +08:00
Tate, Hongliang Tian
660d0931cd
Add Pthread test
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
4cf8777592
Add clone system call
2019-04-03 13:41:55 +08:00
WangRunji
a3483851a0
add test for link, unlink, rename
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
011b4bf8e7
add test for readdir
2019-03-29 14:20:25 +08:00
WangRunji
cbeab07352
add test for ftruncate
2019-03-29 14:20:25 +08:00
WangRunji
0ec4ba9305
load program bin from SEFS
2019-03-29 14:20:25 +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
ad704c421f
Add argc and argv support
2019-02-16 16:24:08 +08:00
Tate, Hongliang Tian
ae063cbf90
Portable colorful output regardless of shell
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
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
5b7048976e
Add spawn and wait4 test
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
ea00690e68
Add mmap, munmap, mremap and brk syscalls
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
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
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
264ac7f993
Add write syscall and prints Hello World
2018-07-01 15:57:41 +08:00