Commit graph

3844 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