Commit graph

3544 commits

Author SHA1 Message Date
Jeremy Soller
483d466b1a Add fsync. Add env scheme, currently hardcoded to get ion to launch. Make serial IRQ send data to debug scheme 2016-09-18 17:55:35 -06:00
Jeremy Soller
1b056395bb Canonicalize paths in open 2016-09-18 12:54:10 -06:00
Jeremy Soller
cfbaccf4d2 Complete execve - add argument support using safe ABI 2016-09-17 21:44:50 -06:00
Jeremy Soller
57f5699664 Update libstd. Add CWD and associated syscalls. Remove debugging 2016-09-17 19:01:34 -06:00
Jeremy Soller
7561839cfc Do not optimize kernel 2016-09-17 09:23:55 -06:00
Jeremy Soller
dfbcca99dd Add exit status to status enum 2016-09-17 09:23:36 -06:00
Jeremy Soller
da9e703c4d Remove debug break 2016-09-17 09:20:13 -06:00
Jeremy Soller
d5766c092f Remove debug breaks 2016-09-17 09:19:55 -06:00
Jeremy Soller
b8d19746e4 Fix creation of kstack 2016-09-17 09:18:35 -06:00
Jeremy Soller
4e78a12002 Do not halt on page fault, do a stack dump 2016-09-17 08:13:09 -06:00
Jeremy Soller
0cb5a1045a Debug init exec and wait 2016-09-17 08:10:44 -06:00
Jeremy Soller
9ad8ea7dd2 Run pcid as a daemon 2016-09-17 08:09:32 -06:00
Jeremy Soller
3e726a5d0d Implement the typical use of waitpid 2016-09-16 18:50:47 -06:00
Jeremy Soller
e680a84a57 Allow cloning of files and memory 2016-09-16 18:27:54 -06:00
Jeremy Soller
8ee9f1d7da work on shared memory accross threads 2016-09-16 17:51:27 -06:00
Jeremy Soller
0b2fd79816 Panic upon use of unsupported flags 2016-09-16 13:45:00 -06:00
Jeremy Soller
6ad843184d Collapse status of context into one status variable 2016-09-16 11:10:53 -06:00
Jeremy Soller
fbbfe16764 Organize context module 2016-09-16 10:44:52 -06:00
Jeremy Soller
a4f8613971 Merge pull request #5 from redox-os/clone
Clone
2016-09-15 08:56:41 -06:00
Jeremy Soller
aa7e38882b Map display in kernel shared memory 2016-09-15 08:50:29 -06:00
Jeremy Soller
997e229f27 Do not have interrupts enabled during context switch 2016-09-15 08:40:16 -06:00
Jeremy Soller
53a5a9188a Remove debugging 2016-09-15 08:39:20 -06:00
Jeremy Soller
33e098c124 Fix implementation of clone and exec. Now the init process can load and execute the pci driver 2016-09-15 08:35:07 -06:00
Jeremy Soller
b01a918556 WIP: Create new page table for clone 2016-09-14 22:21:52 -06:00
Jeremy Soller
c000820d72 Move kernel heap into kernel PML4, now a single PML4 needs to be copied to initialize a new table 2016-09-14 21:28:09 -06:00
Jeremy Soller
83bc8a0da5 Higher-half kernel mapping. Unmap where possible, freeing up lower memory 2016-09-14 20:47:55 -06:00
Jeremy Soller
6e16298e71 WIP: Copy usermode stack 2016-09-13 21:27:27 -06:00
Jeremy Soller
3f9012b931 Restore page fault handler 2016-09-13 20:35:01 -06:00
Jeremy Soller
dc87afd2ac Fix userspace clone by clobbering all variables on clone 2016-09-13 20:31:45 -06:00
Jeremy Soller
ce50faf7ca Allow cloning of kernel threads. Userspace breaks potentially due to stack aliasing 2016-09-13 20:06:39 -06:00
Jeremy Soller
4341a2d725 Use flush_all instead of flush for performance 2016-09-13 11:20:55 -06:00
Jeremy Soller
0a2abe0f54 Initialize FPU and SSE on APs 2016-09-12 20:37:22 -06:00
Jeremy Soller
31fdc8f175 Cleanup usermode jump 2016-09-12 17:52:38 -06:00
Jeremy Soller
e50e6d2e4f Remove user TLS 2016-09-12 15:52:04 -06:00
Jeremy Soller
ea8b9189a3 Pass page table of BSP to AP 2016-09-12 15:50:16 -06:00
Jeremy Soller
6560cc653b Simplify bootloader GDT 2016-09-12 15:49:54 -06:00
Jeremy Soller
6d675fc43a Map kernel TLS to general area 2016-09-12 15:02:03 -06:00
Jeremy Soller
11eddfecd1 Cleanup PML4 entries, pass correct cpu ID to trampoline 2016-09-12 13:06:00 -06:00
Jeremy Soller
1298e38ed8 cr3 in context 2016-09-12 12:21:34 -06:00
Jeremy Soller
85fef883d6 Implement exit, partly 2016-09-11 22:03:03 -06:00
Jeremy Soller
aa2915001e Clear memory on demand 2016-09-11 21:47:44 -06:00
Jeremy Soller
9796d21906 Add comments 2016-09-11 21:35:02 -06:00
Jeremy Soller
0d101ae5fa Cleanup heap management 2016-09-11 21:18:18 -06:00
Jeremy Soller
bcd318d80b Store context memory information 2016-09-11 21:04:34 -06:00
Jeremy Soller
bed09d0518 Allow thread control block to be moved 2016-09-11 18:25:05 -06:00
Jeremy Soller
f0431f4de1 Allow exec, emulate clone by pretending to be child 2016-09-11 18:03:10 -06:00
Jeremy Soller
2fffe3ee77 Fix close, add dup 2016-09-11 17:31:21 -06:00
Jeremy Soller
951831c4bb Improve init process, debug missing syscalls, fix error codes in syscall return 2016-09-11 16:48:58 -06:00
Jeremy Soller
adec5d6df6 More compact output 2016-09-11 16:24:43 -06:00
Jeremy Soller
4f6a0fb2b0 Stripping the kernel causes crashes for some reason 2016-09-11 16:13:27 -06:00