Commit Graph

  • ec240ef778 Clone grants Jeremy Soller 2016-09-20 22:14:08 -06:00
  • 6d8a75ff9b Launch ion Jeremy Soller 2016-09-20 21:56:40 -06:00
  • 416ec07ea4 WIP: VESA driver. Make initfs generated by code Jeremy Soller 2016-09-20 21:52:45 -06:00
  • b01eb8e47b WIP: VESA driver. Make initfs generated by code Jeremy Soller 2016-09-20 21:52:45 -06:00
  • 492437bb9c WIP: VESA driver. Make initfs generated by code Jeremy Soller 2016-09-20 21:52:45 -06:00
  • 2b6fae0138 Validate memory pointers Jeremy Soller 2016-09-20 18:03:14 -06:00
  • da8e5db5c8 Implement more system calls Jeremy Soller 2016-09-20 16:57:45 -06:00
  • e2ec6fd220 Implement more system calls Jeremy Soller 2016-09-20 16:57:45 -06:00
  • f0d65c068e Create example userspace scheme. Remove kernel duplication of syscalls, use syscall crate instead Jeremy Soller 2016-09-20 16:23:28 -06:00
  • a5cfb8f363 Create example userspace scheme. Remove kernel duplication of syscalls, use syscall crate instead Jeremy Soller 2016-09-20 16:23:28 -06:00
  • 4ee9a6b492 Create example userspace scheme. Remove kernel duplication of syscalls, use syscall crate instead Jeremy Soller 2016-09-20 16:23:28 -06:00
  • 3e4544c4de Grant to allow passing data to scheme handler Jeremy Soller 2016-09-20 14:50:04 -06:00
  • 3ae7dc8d98 Grant to allow passing data to scheme handler Jeremy Soller 2016-09-20 14:50:04 -06:00
  • 863c59d3c2 Increase buffer size when reading executable, update libstd Jeremy Soller 2016-09-20 09:51:26 -06:00
  • eeb1cd0a52 Fix deadlock Jeremy Soller 2016-09-20 09:21:54 -06:00
  • 62f2f83ec8 Implement user schemes. Example in pcid. Currently deadlocks in UserInner Jeremy Soller 2016-09-20 08:47:16 -06:00
  • a737a71254 Implement user schemes. Example in pcid. Currently deadlocks in UserInner Jeremy Soller 2016-09-20 08:47:16 -06:00
  • 7a5d9d440c Implement user schemes. Example in pcid. Currently deadlocks in UserInner Jeremy Soller 2016-09-20 08:47:16 -06:00
  • 2f06e18743 WIP: User scheme Jeremy Soller 2016-09-19 21:24:54 -06:00
  • fcbc8951da Minimize locking in schemes. Reenable pcid and ion launch in init. WIP: Userspace schemes Jeremy Soller 2016-09-19 18:29:28 -06:00
  • fe234e4bf1 Remove warnings Jeremy Soller 2016-09-19 17:28:22 -06:00
  • 1bbd71d7d8 Move PS/2 driver to userspace Jeremy Soller 2016-09-19 17:19:49 -06:00
  • 5276c76963 PS/2 driver convert to char Jeremy Soller 2016-09-19 10:24:19 -06:00
  • a60773c1c5 PS/2 driver convert to char Jeremy Soller 2016-09-19 10:24:19 -06:00
  • 298d999300 Seperate PS/2 keyboard and mouse driver Jeremy Soller 2016-09-19 09:43:30 -06:00
  • aeabb66d9a Seperate PS/2 keyboard and mouse driver Jeremy Soller 2016-09-19 09:43:30 -06:00
  • 4403e3e7ac Allow userspace to handle IRQs (WIP). Create basic keyboard handler Jeremy Soller 2016-09-18 20:17:08 -06:00
  • 0feba280aa Allow userspace to handle IRQs (WIP). Create basic keyboard handler Jeremy Soller 2016-09-18 20:17:08 -06:00
  • de53701ed9 Add mechanism to read IRQ count Jeremy Soller 2016-09-18 18:59:46 -06:00
  • af2f6fc6df Add fsync. Add env scheme, currently hardcoded to get ion to launch. Make serial IRQ send data to debug scheme Jeremy Soller 2016-09-18 17:55:35 -06:00
  • 8ba97b8cff Canonicalize paths in open Jeremy Soller 2016-09-18 12:54:10 -06:00
  • 05aa4d16da Complete execve - add argument support using safe ABI Jeremy Soller 2016-09-17 21:44:50 -06:00
  • 4821357934 Complete execve - add argument support using safe ABI Jeremy Soller 2016-09-17 21:44:50 -06:00
  • bbe85a62a2 Update libstd. Add CWD and associated syscalls. Remove debugging Jeremy Soller 2016-09-17 19:01:34 -06:00
  • 75016bfe39 Update libstd. Add CWD and associated syscalls. Remove debugging Jeremy Soller 2016-09-17 19:01:34 -06:00
  • c5afb10b00 Add exit status to status enum Jeremy Soller 2016-09-17 09:23:36 -06:00
  • 959ecdad04 Fix creation of kstack Jeremy Soller 2016-09-17 09:18:35 -06:00
  • a87ab74e8f Run pcid as a daemon Jeremy Soller 2016-09-17 08:09:32 -06:00
  • 9bc242c179 Implement the typical use of waitpid Jeremy Soller 2016-09-16 18:50:47 -06:00
  • 5f570fa5b4 Allow cloning of files and memory Jeremy Soller 2016-09-16 18:27:54 -06:00
  • 91fc7c96ab work on shared memory accross threads Jeremy Soller 2016-09-16 17:51:27 -06:00
  • 236b2f0e04 Panic upon use of unsupported flags Jeremy Soller 2016-09-16 13:45:00 -06:00
  • 356ba325ea Collapse status of context into one status variable Jeremy Soller 2016-09-16 11:10:53 -06:00
  • 0f27cd24ce Organize context module Jeremy Soller 2016-09-16 10:44:52 -06:00
  • 5cbd30988c Do not have interrupts enabled during context switch Jeremy Soller 2016-09-15 08:40:16 -06:00
  • dee5b4dd9e Remove debugging Jeremy Soller 2016-09-15 08:39:20 -06:00
  • 1711303ef8 Fix implementation of clone and exec. Now the init process can load and execute the pci driver Jeremy Soller 2016-09-15 08:35:07 -06:00
  • 8607367058 WIP: Create new page table for clone Jeremy Soller 2016-09-14 22:21:52 -06:00
  • 1acb84afbb Higher-half kernel mapping. Unmap where possible, freeing up lower memory Jeremy Soller 2016-09-14 20:47:55 -06:00
  • 932026fed8 WIP: Copy usermode stack Jeremy Soller 2016-09-13 21:27:27 -06:00
  • 35ff2bea3e Fix userspace clone by clobbering all variables on clone Jeremy Soller 2016-09-13 20:31:45 -06:00
  • b042f40847 Fix userspace clone by clobbering all variables on clone Jeremy Soller 2016-09-13 20:31:45 -06:00
  • d3ace7dcad Allow cloning of kernel threads. Userspace breaks potentially due to stack aliasing Jeremy Soller 2016-09-13 20:06:39 -06:00
  • d1c0e3b5da Use flush_all instead of flush for performance Jeremy Soller 2016-09-13 11:20:55 -06:00
  • efaeb22163 Map kernel TLS to general area Jeremy Soller 2016-09-12 15:02:03 -06:00
  • d4ca131391 cr3 in context Jeremy Soller 2016-09-12 12:21:34 -06:00
  • 70bf79a977 Implement exit, partly Jeremy Soller 2016-09-11 22:03:03 -06:00
  • 0bb1ad38c9 Clear memory on demand Jeremy Soller 2016-09-11 21:47:44 -06:00
  • db3255dd82 Add comments Jeremy Soller 2016-09-11 21:35:02 -06:00
  • 011c8f7f2b Cleanup heap management Jeremy Soller 2016-09-11 21:18:18 -06:00
  • efd41a857e Store context memory information Jeremy Soller 2016-09-11 21:04:34 -06:00
  • 46986e0939 Allow exec, emulate clone by pretending to be child Jeremy Soller 2016-09-11 18:03:10 -06:00
  • 86597331cc Allow exec, emulate clone by pretending to be child Jeremy Soller 2016-09-11 18:03:10 -06:00
  • cf27b3a3ad Fix close, add dup Jeremy Soller 2016-09-11 17:31:21 -06:00
  • 7a928a5f97 Improve init process, debug missing syscalls, fix error codes in syscall return Jeremy Soller 2016-09-11 16:48:58 -06:00
  • e306348e44 More compact output Jeremy Soller 2016-09-11 16:24:43 -06:00
  • 038cf5aba1 PCI driver WIP Jeremy Soller 2016-09-11 15:56:48 -06:00
  • 4b3bc6ac11 PCI driver WIP Jeremy Soller 2016-09-11 15:56:48 -06:00
  • 9371120f0f Flush TLB correctly when remapping Seperate mouse and keyboard structs in PS/2 driver Jeremy Soller 2016-09-11 15:02:35 -06:00
  • 9b17495dd6 Implement exec Implement brk Jeremy Soller 2016-09-10 22:06:09 -06:00
  • 4692e9b267 Load init from initfs Jeremy Soller 2016-09-10 19:42:26 -06:00
  • c30f4208d4 Implement sched_yield, enable interrupts in userspace Jeremy Soller 2016-09-10 19:18:59 -06:00
  • 486bfea62c Remove debugging messages, launch elf on APs Jeremy Soller 2016-09-10 19:03:31 -06:00
  • 0d115508be Seperate kernel and userspace targets Jeremy Soller 2016-09-09 19:08:04 -06:00
  • 531497d7af Remove debug warnings Jeremy Soller 2016-09-09 17:30:22 -06:00
  • 3837b2606f Connect schemes so that they can be used Jeremy Soller 2016-09-08 20:06:33 -06:00
  • 7036ed4c63 Cleanup to use question mark Jeremy Soller 2016-09-08 19:31:26 -06:00
  • dfeef83473 Add syscall library, make init program Rust Jeremy Soller 2016-09-08 19:09:58 -06:00
  • ef9a7c0988 Add syscall library, make init program Rust Jeremy Soller 2016-09-08 19:09:58 -06:00
  • 44e57773a3 Debug reads writes better, set up stdio for BSP Jeremy Soller 2016-09-07 21:32:09 -06:00
  • 7c0b17d070 Load a very simple ELF and launch it in usermode Jeremy Soller 2016-09-07 21:16:30 -06:00
  • 4b98fb8ca3 Improve efficiency of kernel console Jeremy Soller 2016-09-01 14:39:45 -06:00
  • 5c91017579 Draw on VESA for console using ransid Jeremy Soller 2016-09-01 11:51:33 -06:00
  • ac9a475ef5 Warnings removal Jeremy Soller 2016-09-01 11:14:47 -06:00
  • 6269f68b03 Fill in all exception and IRQ entries. Handle PIT, keyboard IRQs Jeremy Soller 2016-08-31 17:45:21 -06:00
  • b8f1971329 Merge branch 'master' of github.com:redox-os/kernel ticki 2016-08-31 17:02:47 +02:00
  • 4966842d72 Add the Fd definition file. ticki 2016-08-31 17:01:08 +02:00
  • 8c0191564f Add file descriptor type Jeremy Soller 2016-08-30 16:27:10 -06:00
  • 2ccc13d212 Merge branch 'master' of https://github.com/redox-os/kernel Jeremy Soller 2016-08-30 16:23:56 -06:00
  • 9bddf55e93 Improvements for context switching Jeremy Soller 2016-08-30 16:23:51 -06:00
  • 9ca3559cc8 Newtype file descriptors. ticki 2016-08-29 11:58:31 +02:00
  • f2d2b233f3 Simple, unsafe context switch Jeremy Soller 2016-08-28 18:38:53 -06:00
  • 5c2b6878a6 Arm! Jeremy Soller 2016-08-25 17:03:01 -06:00
  • 24bfb2c81f Fix the build. Sorry Jeremy Soller 2016-08-24 19:30:14 -06:00
  • 84873532af Arch context in kernel context Jeremy Soller 2016-08-24 10:35:42 -06:00
  • aecfa50029 Initialize contexts, add getpid Jeremy Soller 2016-08-20 14:32:45 -06:00
  • 47280a921a Context list class, static context ID magic Jeremy Soller 2016-08-20 13:43:35 -06:00
  • 645524fdf5 Setup independent page tables, map heap to a single location Jeremy Soller 2016-08-19 14:53:16 -06:00
  • 74b40f0a25 Switch to goblin as executable parser Jeremy Soller 2016-08-19 07:57:24 -06:00
  • b46c7e71c0 Add syscall handler, still work in progress Add elf files Jeremy Soller 2016-08-18 19:44:31 -06:00