55 Commits

Author SHA1 Message Date
Theodore Dubois
9046713f31 Use fexecve instead of execveat for ptraceomatic 2017-11-18 19:55:08 -08:00
Theodore Dubois
52d5d5c137 Hopefully fix travis build failures 2017-11-18 19:40:05 -08:00
Theodore Dubois
37aef44173 Stop mutating the path in real fs functions 2017-11-15 17:44:11 -08:00
Theodore Dubois
f88e322196 Support socketcall in ptraceomatic 2017-11-14 16:54:38 -08:00
Theodore Dubois
b2bf3b528c Add termios and remove securetty 2017-11-01 16:19:12 -07:00
Theodore Dubois
98b18e2abe Fix ls 2017-10-30 18:05:31 -07:00
Theodore Dubois
cd370cd0cb Get alpine filesystem into iOS app 2017-10-30 17:16:56 -07:00
Theodore Dubois
46983d5216 Add script to unpack tar archives into fake filesystems 2017-10-29 19:26:26 -07:00
Theodore Dubois
63a9ff018e Replace extended attributes with an NDBM-API-compatible database 2017-10-28 18:52:26 -07:00
Theodore Dubois
b3c7896489 Set up Travis CI 2017-10-16 15:37:30 -07:00
Theodore Dubois
b5150b8390 Improve compatibility with macos 2017-10-15 17:04:09 -07:00
Theodore Dubois
f1e63c43e0 Rename sys directory to kernel
A number of the headers in it were conflicting with macOS system
headers.
2017-10-13 16:54:11 -07:00
Theodore Dubois
820dbdbe07 Make mem a refcounted structure
Fixes exec after vfork not creating a new memory space
2017-10-12 17:20:23 -07:00
Theodore Dubois
64444f4517 Enable rdtsc and cpuid faulting in the ptrace child 2017-10-12 17:20:23 -07:00
Theodore Dubois
014142d702 Add setitimer to ptraceomatic 2017-10-12 17:20:23 -07:00
Theodore Dubois
e8488b1b32 Implement openat 2017-09-14 15:31:59 -07:00
Theodore Dubois
2bca06f83c Rollback to filesystem with paths 2017-09-13 12:56:52 -07:00
Theodore Dubois
274b7531af Refactor filesystem to not use paths 2017-09-06 15:39:04 -07:00
Theodore Dubois
d33d15d36f Implement rt_sigreturn 2017-09-03 10:45:36 -07:00
Theodore Dubois
7f374aca2b Make ctrl-c work 2017-09-02 16:10:42 -07:00
Theodore Dubois
3c4b180977 Implement TIOCGPGRP 2017-08-31 21:52:10 -07:00
Theodore Dubois
da3c873abb Make sleep work with alpine 2017-08-28 18:47:42 -07:00
Theodore Dubois
ea65057bed Add fpu support, somewhat working poll, separate tests into new project, \r\n, jeez I need to commit more often 2017-08-28 12:54:23 -07:00
Theodore Dubois
b22540a183 Finish implementing ttys
still missing poll
2017-08-19 18:37:08 -07:00
Theodore Dubois
881904231c Fix a large number of bugs 2017-08-02 20:18:45 -07:00
Theodore Dubois
d4c211be72 Implement EFAULT 2017-08-01 19:28:20 -07:00
Theodore Dubois
46446b3878 Partially unbitrot ptraceomatic 2017-07-31 18:13:53 -07:00
Theodore Dubois
947597002f Implement resolving symlinks in path_normalize 2017-07-27 15:02:08 -07:00
Theodore Dubois
3e590e92d2 Support putting the root filesystem in a directory
Also added repz cmpsb, support for executing dynamic libraries,
set_tid_address stub, and found an alternative to setup.c.
2017-07-23 18:15:59 -07:00
Theodore Dubois
6292a97b6e Implement clone system call, and copy-on-write 2017-07-11 15:08:47 -07:00
Theodore Dubois
54c52080f8 Add signal handling support 2017-07-05 18:01:10 -07:00
Theodore Dubois
a661e42b08 Start working on signal handling, completely refactor cpu emulator, and fix qemu test program compiling on clang 2017-07-04 16:10:13 -07:00
Theodore Dubois
b43ae42ce4 Remove build definitions for nonexistent programs 2017-06-27 17:38:02 -07:00
Theodore Dubois
101baa6a8b Implement rt_sigaction and start implementing signal handling 2017-06-26 17:05:43 -07:00
Theodore Dubois
32e34891e1 Add clock_gettime and finish the set instructions 2017-06-22 16:44:29 -07:00
Theodore Dubois
7880326b8e Add getcwd 2017-06-22 15:17:10 -07:00
Theodore Dubois
c3d018901d Fix ls crash when listing directories with over 1024 files 2017-06-21 19:04:01 -07:00
Theodore Dubois
a74f2869a3 Make busybox ls work 2017-06-20 18:21:32 -07:00
Theodore Dubois
8452c007a4 Reorganize fs files 2017-06-20 11:55:48 -07:00
Theodore Dubois
b6a03573a3 Map the entire vdso, not just the first page 2017-06-20 10:30:54 -07:00
Theodore Dubois
adfbe8261d Make busybox gzip work 2017-06-19 15:21:20 -07:00
Theodore Dubois
1255cc25ba Implement lseek
This is needed by tail
2017-06-18 14:21:59 -07:00
Theodore Dubois
65667d57e8 Get busybox cat to work 2017-06-17 18:44:25 -07:00
Theodore Dubois
559ae4cbcc Make Hello World with libc and ld work
IF you want to understand how amazing this is, watch https://www.twitch.tv/videos/152115137
2017-06-15 14:18:24 -07:00
Theodore Dubois
c90e717a40 Get up to mprotect on linker 2017-06-14 20:32:37 -07:00
Theodore Dubois
1c0b082513 Make filesystem work well enough for cat program 2017-06-07 14:30:48 -07:00
Theodore Dubois
1cba915a2b Add fibbonaci benchmark
To make it work I also added some opcodes, cli argument support, and
sped up the memory compare thing in ptraceomatic.
2017-06-05 07:23:59 -07:00
Theodore Dubois
8cd8c258e7 Add a nice little looping benchmark
Currently shows ish with optimizations on is 20 times slower than a real
chip. I'm hoping I can get that down to 10 times slower.
2017-06-05 03:23:05 -07:00
Theodore Dubois
99255f7d73 Make static libc hello world work 2017-06-04 22:03:09 -07:00
Theodore Dubois
bfd7f8774a Implement cmov, rdtsc, fix parity, uname 2017-06-03 20:47:36 -07:00