Commit Graph

87 Commits

Author SHA1 Message Date
Jeremy Soller af2f6fc6df 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 8ba97b8cff Canonicalize paths in open 2016-09-18 12:54:10 -06:00
Jeremy Soller 4821357934 Complete execve - add argument support using safe ABI 2016-09-17 21:44:50 -06:00
Jeremy Soller 75016bfe39 Update libstd. Add CWD and associated syscalls. Remove debugging 2016-09-17 19:01:34 -06:00
Jeremy Soller c5afb10b00 Add exit status to status enum 2016-09-17 09:23:36 -06:00
Jeremy Soller 959ecdad04 Fix creation of kstack 2016-09-17 09:18:35 -06:00
Jeremy Soller 9bc242c179 Implement the typical use of waitpid 2016-09-16 18:50:47 -06:00
Jeremy Soller 5f570fa5b4 Allow cloning of files and memory 2016-09-16 18:27:54 -06:00
Jeremy Soller 91fc7c96ab work on shared memory accross threads 2016-09-16 17:51:27 -06:00
Jeremy Soller 236b2f0e04 Panic upon use of unsupported flags 2016-09-16 13:45:00 -06:00
Jeremy Soller 356ba325ea Collapse status of context into one status variable 2016-09-16 11:10:53 -06:00
Jeremy Soller 0f27cd24ce Organize context module 2016-09-16 10:44:52 -06:00
Jeremy Soller 5cbd30988c Do not have interrupts enabled during context switch 2016-09-15 08:40:16 -06:00
Jeremy Soller dee5b4dd9e Remove debugging 2016-09-15 08:39:20 -06:00
Jeremy Soller 1711303ef8 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 8607367058 WIP: Create new page table for clone 2016-09-14 22:21:52 -06:00
Jeremy Soller 1acb84afbb Higher-half kernel mapping. Unmap where possible, freeing up lower memory 2016-09-14 20:47:55 -06:00
Jeremy Soller 932026fed8 WIP: Copy usermode stack 2016-09-13 21:27:27 -06:00
Jeremy Soller b042f40847 Fix userspace clone by clobbering all variables on clone 2016-09-13 20:31:45 -06:00
Jeremy Soller d3ace7dcad Allow cloning of kernel threads. Userspace breaks potentially due to stack aliasing 2016-09-13 20:06:39 -06:00
Jeremy Soller d1c0e3b5da Use flush_all instead of flush for performance 2016-09-13 11:20:55 -06:00
Jeremy Soller efaeb22163 Map kernel TLS to general area 2016-09-12 15:02:03 -06:00
Jeremy Soller d4ca131391 cr3 in context 2016-09-12 12:21:34 -06:00
Jeremy Soller 70bf79a977 Implement exit, partly 2016-09-11 22:03:03 -06:00
Jeremy Soller 0bb1ad38c9 Clear memory on demand 2016-09-11 21:47:44 -06:00
Jeremy Soller db3255dd82 Add comments 2016-09-11 21:35:02 -06:00
Jeremy Soller 011c8f7f2b Cleanup heap management 2016-09-11 21:18:18 -06:00
Jeremy Soller efd41a857e Store context memory information 2016-09-11 21:04:34 -06:00
Jeremy Soller 86597331cc Allow exec, emulate clone by pretending to be child 2016-09-11 18:03:10 -06:00
Jeremy Soller cf27b3a3ad Fix close, add dup 2016-09-11 17:31:21 -06:00
Jeremy Soller 7a928a5f97 Improve init process, debug missing syscalls, fix error codes in syscall return 2016-09-11 16:48:58 -06:00
Jeremy Soller 038cf5aba1 PCI driver WIP 2016-09-11 15:56:48 -06:00
Jeremy Soller 9371120f0f Flush TLB correctly when remapping
Seperate mouse and keyboard structs in PS/2 driver
2016-09-11 15:02:35 -06:00
Jeremy Soller 9b17495dd6 Implement exec
Implement brk
2016-09-10 22:06:09 -06:00
Jeremy Soller 4692e9b267 Load init from initfs 2016-09-10 19:42:26 -06:00
Jeremy Soller c30f4208d4 Implement sched_yield, enable interrupts in userspace 2016-09-10 19:18:59 -06:00
Jeremy Soller 486bfea62c Remove debugging messages, launch elf on APs 2016-09-10 19:03:31 -06:00
Jeremy Soller 0d115508be Seperate kernel and userspace targets 2016-09-09 19:08:04 -06:00
Jeremy Soller 531497d7af Remove debug warnings 2016-09-09 17:30:22 -06:00
Jeremy Soller 3837b2606f Connect schemes so that they can be used 2016-09-08 20:06:33 -06:00
Jeremy Soller 7036ed4c63 Cleanup to use question mark 2016-09-08 19:31:26 -06:00
Jeremy Soller ef9a7c0988 Add syscall library, make init program Rust 2016-09-08 19:10:50 -06:00
Jeremy Soller 44e57773a3 Debug reads writes better, set up stdio for BSP 2016-09-07 21:32:09 -06:00
Jeremy Soller 7c0b17d070 Load a very simple ELF and launch it in usermode 2016-09-07 21:16:30 -06:00
Jeremy Soller 4b98fb8ca3 Improve efficiency of kernel console 2016-09-01 14:39:45 -06:00
Jeremy Soller 5c91017579 Draw on VESA for console using ransid 2016-09-01 11:51:33 -06:00
Jeremy Soller ac9a475ef5 Warnings removal 2016-09-01 11:14:47 -06:00
Jeremy Soller 6269f68b03 Fill in all exception and IRQ entries. Handle PIT, keyboard IRQs 2016-08-31 17:45:21 -06:00
ticki b8f1971329 Merge branch 'master' of github.com:redox-os/kernel 2016-08-31 17:02:47 +02:00
ticki 4966842d72 Add the Fd definition file.
Damn, I forgot to `git add` it.
2016-08-31 17:01:08 +02:00