Tate, Hongliang Tian 
							
						 
					 
					
						
						
						
						
							
						
						
							33739cc00b 
							
						 
					 
					
						
						
							
							Program loader loads ld.so now  
						
						
						
						
					 
					
						2019-07-20 03:34:00 +00:00 
						 
				 
			
				
					
						
							
							
								Tate, Hongliang Tian 
							
						 
					 
					
						
						
						
						
							
						
						
							13974315ad 
							
						 
					 
					
						
						
							
							Fix all compiler warnings for tests  
						
						
						
						
					 
					
						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 
						 
				 
			
				
					
						
							
							
								Wang Runji 
							
						 
					 
					
						
						
						
						
							
						
						
							29278db8f4 
							
						 
					 
					
						
						
							
							support multiple fs  
						
						... 
						
						
						
						- use RamFS as rootfs, mount SEFS at /test
- for testing convenience, set default cwd to /test
- fix spawn path and change_cwd 
						
						
					 
					
						2019-07-19 03:49:18 +00:00 
						 
				 
			
				
					
						
							
							
								Tate, Hongliang Tian 
							
						 
					 
					
						
						
						
						
							
						
						
							e1e46c9935 
							
						 
					 
					
						
						
							
							Add clock_gettimeofday  
						
						
						
						
					 
					
						2019-07-18 10:51:12 +00:00 
						 
				 
			
				
					
						
							
							
								Tate, Hongliang Tian 
							
						 
					 
					
						
						
						
						
							
						
						
							c096e7d0b9 
							
						 
					 
					
						
						
							
							Inform Intel SGX SDK about Occlum-defined stacks  
						
						... 
						
						
						
						There are two types of stacks: the kernel ones and the user ones. The kernel
stacks are used by Occlum and managed by Intel SGX SDK itself, while the user
stacks are used by the threads created and managed by Occlum. These user stacks
are transparent to Intel SGX SDK so far.
The problem is that Intel SGX SDK needs to be aware of the user stacks.
SGX exception handlers will check whether the rsp value---when the exception
happened---is within the stack of the current SGX thread. If the check fails,
the registered exception handler will not be triggered. But when exceptions are
triggered by the threads running upon Occlum, the rsp value points to the user
stacks, which Intel SGX SDK are completely unware of. So the check always
fails.
Therefore, we extend Intel SGX SDK with two new APIs:
  int sgx_enable_user_stack(size_t stack_base, size_t stack_limit);
  void sgx_disable_user_stack(void);
And this commit uses the two APIs to inform Intel SGX SDK about the
Occlum-managed stacks. And the rsp checks in SGX exception handlers will
check whether rsp is within the user stacks. 
						
						
					 
					
						2019-07-18 07:16:17 +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 
							
						 
					 
					
						
						
						
						
							
						
						
							3850c31235 
							
						 
					 
					
						
						
							
							fix unix socket bench  
						
						
						
						
					 
					
						2019-04-24 15:28:05 +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 
							
						 
					 
					
						
						
						
						
							
						
						
							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 
							
						 
					 
					
						
						
						
						
							
						
						
							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 
							
						 
					 
					
						
						
						
						
							
						
						
							abe553ba1c 
							
						 
					 
					
						
						
							
							Adapt Makefile to changes of Occlum's clang and ld wrappers  
						
						
						
						
					 
					
						2019-04-06 22:55:16 +08:00 
						 
				 
			
				
					
						
							
							
								Tate, Hongliang Tian 
							
						 
					 
					
						
						
						
						
							
						
						
							bd82b27762 
							
						 
					 
					
						
						
							
							Use mutex in Pthread test  
						
						
						
						
					 
					
						2019-04-06 22:55:16 +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 
							
						 
					 
					
						
						
						
						
							
						
						
							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 
							
						 
					 
					
						
						
						
						
							
						
						
							a3483851a0 
							
						 
					 
					
						
						
							
							add test for link, unlink, rename  
						
						
						
						
					 
					
						2019-03-29 14:20:25 +08:00 
						 
				 
			
				
					
						
							
							
								WangRunji 
							
						 
					 
					
						
						
						
						
							
						
						
							0a8e84f4de 
							
						 
					 
					
						
						
							
							add test for pread, pwrite  
						
						
						
						
					 
					
						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 
							
						 
					 
					
						
						
						
						
							
						
						
							4a9b7aa1b0 
							
						 
					 
					
						
						
							
							add test for truncate, stat  
						
						
						
						
					 
					
						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 
							
						 
					 
					
						
						
						
						
							
						
						
							6e9f00b5db 
							
						 
					 
					
						
						
							
							fix process cwd. fix open path  
						
						
						
						
					 
					
						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 
						 
				 
			
				
					
						
							
							
								WangRunji 
							
						 
					 
					
						
						
						
						
							
						
						
							8f078e9499 
							
						 
					 
					
						
						
							
							fix bin path in tests  
						
						
						
						
					 
					
						2019-03-29 14:20:25 +08:00 
						 
				 
			
				
					
						
							
							
								WangRunji 
							
						 
					 
					
						
						
						
						
							
						
						
							e41f65e132 
							
						 
					 
					
						
						
							
							fix test Makefile for SEFS  
						
						
						
						
					 
					
						2019-03-29 14:20:25 +08:00 
						 
				 
			
				
					
						
							
							
								Tate, Hongliang Tian 
							
						 
					 
					
						
						
						
						
							
						
						
							cd6dc9d77a 
							
						 
					 
					
						
						
							
							Use the new arguments for Occlum LLVM toolchain  
						
						
						
						
					 
					
						2019-02-23 16:31:01 +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 
							
						 
					 
					
						
						
						
						
							
						
						
							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 
							
						 
					 
					
						
						
						
						
							
						
						
							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 
							
						 
					 
					
						
						
						
						
							
						
						
							98b4508a0d 
							
						 
					 
					
						
						
							
							Use posix_spawn and wait4 in libc  
						
						
						
						
					 
					
						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 
							
						 
					 
					
						
						
						
						
							
						
						
							372649f3d6 
							
						 
					 
					
						
						
							
							Add getpid and getppid  
						
						
						
						
					 
					
						2019-02-16 16:23:30 +08:00 
						 
				 
			
				
					
						
							
							
								Tate, Hongliang Tian 
							
						 
					 
					
						
						
						
						
							
						
						
							9389b702ba 
							
						 
					 
					
						
						
							
							Use Occlum toolchain to compile test programs  
						
						
						
						
					 
					
						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 
							
						 
					 
					
						
						
						
						
							
						
						
							4107a65248 
							
						 
					 
					
						
						
							
							Enable libc's printf  
						
						
						
						
					 
					
						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 
							
						 
					 
					
						
						
						
						
							
						
						
							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 
							
						 
					 
					
						
						
						
						
							
						
						
							264ac7f993 
							
						 
					 
					
						
						
							
							Add write syscall and prints Hello World  
						
						
						
						
					 
					
						2018-07-01 15:57:41 +08:00