Commit graph

87 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 dfbcca99dd Add exit status to status enum 2016-09-17 09:23:36 -06:00
Jeremy Soller b8d19746e4 Fix creation of kstack 2016-09-17 09:18:35 -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 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 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 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 6d675fc43a Map kernel TLS to general area 2016-09-12 15:02:03 -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 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 c9a4b3882c PCI driver WIP 2016-09-11 15:56:48 -06:00
Jeremy Soller 8563961f28 Flush TLB correctly when remapping
Seperate mouse and keyboard structs in PS/2 driver
2016-09-11 15:02:35 -06:00
Jeremy Soller 44e8b99b46 Implement exec
Implement brk
2016-09-10 22:06:09 -06:00
Jeremy Soller f2ca411cd6 Load init from initfs 2016-09-10 19:42:26 -06:00
Jeremy Soller 842826c1b0 Implement sched_yield, enable interrupts in userspace 2016-09-10 19:18:59 -06:00
Jeremy Soller bd7bca30fa Remove debugging messages, launch elf on APs 2016-09-10 19:03:31 -06:00
Jeremy Soller 0b1265d87e Seperate kernel and userspace targets 2016-09-09 19:08:04 -06:00
Jeremy Soller 9040789987 Remove debug warnings 2016-09-09 17:30:22 -06:00
Jeremy Soller aeadd17bb5 Connect schemes so that they can be used 2016-09-08 20:06:33 -06:00
Jeremy Soller 9afe0645e1 Cleanup to use question mark 2016-09-08 19:31:26 -06:00
Jeremy Soller 46f9f90e3c Add syscall library, make init program Rust 2016-09-08 19:10:50 -06:00
Jeremy Soller fb0df8530d Debug reads writes better, set up stdio for BSP 2016-09-07 21:32:09 -06:00
Jeremy Soller 850792bbf1 Load a very simple ELF and launch it in usermode 2016-09-07 21:16:30 -06:00
Jeremy Soller 0ccfd2125a Improve efficiency of kernel console 2016-09-01 14:39:45 -06:00
Jeremy Soller d7d61f82af Draw on VESA for console using ransid 2016-09-01 11:51:33 -06:00
Jeremy Soller 53c71d9183 Warnings removal 2016-09-01 11:14:47 -06:00
Jeremy Soller f784e9a06a Fill in all exception and IRQ entries. Handle PIT, keyboard IRQs 2016-08-31 17:45:21 -06:00
ticki a9a8c2b340 Merge branch 'master' of github.com:redox-os/kernel 2016-08-31 17:02:47 +02:00
ticki 03e7f221a8 Add the Fd definition file.
Damn, I forgot to `git add` it.
2016-08-31 17:01:08 +02:00