Commit Graph

  • 9c3a06b8f9 Add nonblocking root scheme Jeremy Soller 2016-10-20 12:31:39 -06:00
  • 71ff7af970 Send multiple events if there are multiple packets Jeremy Soller 2016-10-14 22:06:43 -06:00
  • 99fee86ef9 Significant improvements for events - switch to event queue in orbital Jeremy Soller 2016-10-14 20:12:21 -06:00
  • bc72488851 Allow O_NONBLOCK to be passed to pipe Jeremy Soller 2016-10-14 19:34:00 -06:00
  • f852450610 Add specification to vesad Fix piping Fix bug where resources are not closed Add arpd Remove question_mark features Jeremy Soller 2016-10-14 18:22:57 -06:00
  • 92b4514895 Fixes for updating submodules Jeremy Soller 2016-10-14 12:00:25 -06:00
  • c294b5b92c Disable orbital by default Jeremy Soller 2016-10-13 21:19:02 -06:00
  • 2fc605a88d Allow schemes to be listed Jeremy Soller 2016-10-13 21:13:37 -06:00
  • c484241e1c Add sys scheme to allow inspection of processes. WIP: Signals. Jeremy Soller 2016-10-13 21:00:51 -06:00
  • d778f0b040 Orbital (#16) Jeremy Soller 2016-10-13 17:21:42 -06:00
  • 7841f3617a Time (#11) Jeremy Soller 2016-10-06 20:50:14 -06:00
  • 7a96e6c9be Add pipe2 Jeremy Soller 2016-10-06 18:46:24 -06:00
  • df87992af4 Add sudo command, add effective UID and GID, and groups file Jeremy Soller 2016-10-05 20:31:59 -06:00
  • 965941cd1c Implement unix permissions Jeremy Soller 2016-10-05 18:01:05 -06:00
  • ea4fa78f72 Merge branch 'encoded_syscall' Jeremy Soller 2016-10-05 15:43:35 -06:00
  • 82d2c49543 Add permissions to the filesystem, preliminary permissions to the syscalls Jeremy Soller 2016-10-05 14:24:08 -06:00
  • 4f73b7b5a5 Implement vfork Jeremy Soller 2016-09-28 21:33:54 -06:00
  • fc5a35d22a 64-bit stat size, read entire executable in one go Jeremy Soller 2016-09-28 20:42:03 -06:00
  • bfaa564afd Fix CWD without trainling slash Jeremy Soller 2016-09-28 11:52:29 -06:00
  • d50a1485a7 mkdir and rmdir Jeremy Soller 2016-09-28 11:26:49 -06:00
  • af5b43ca0b Fix dup Jeremy Soller 2016-09-28 11:22:01 -06:00
  • 62d151c9e8 Unlink syscall Jeremy Soller 2016-09-28 11:18:28 -06:00
  • f79570d42f Fix kernel user scheme fpath Jeremy Soller 2016-09-28 10:29:17 -06:00
  • 2c9a953295 Remove unnecessary slash Jeremy Soller 2016-09-26 17:39:58 -06:00
  • bc4f29d3c8 WIP: AHCI drivers and more memory syscalls Jeremy Soller 2016-09-26 17:00:06 -06:00
  • 5877c8ac16 Encode many of the file syscalls Jeremy Soller 2016-09-25 11:20:59 -06:00
  • 1e2e5a5d31 Event support - demonstration in example scheme Jeremy Soller 2016-09-23 17:54:39 -06:00
  • e390c2d00c WIP: Kevent Jeremy Soller 2016-09-23 15:47:53 -06:00
  • 3034daac31 Add env Jeremy Soller 2016-09-23 11:01:53 -06:00
  • 750a2c1f9d Fix path lookup Jeremy Soller 2016-09-22 21:27:33 -06:00
  • 879d582e44 Implement fpath in initfs Jeremy Soller 2016-09-22 21:13:17 -06:00
  • bbacabce4f Trim in env scheme, do not debug initfs Jeremy Soller 2016-09-22 20:49:28 -06:00
  • 733a812259 Folders in initfs Jeremy Soller 2016-09-22 20:26:33 -06:00
  • fcc701cf66 Bring in some coreutils Jeremy Soller 2016-09-22 19:38:09 -06:00
  • 35ad65bbda Enable SSE and FPU Jeremy Soller 2016-09-22 16:14:45 -06:00
  • 2e9697353c Add wnohang, make PS/2 driver write input to display scheme, which then passes it to the shell Jeremy Soller 2016-09-22 10:10:27 -06:00
  • 57b50ba819 Add login process. Remove debugging. Fix order of arguments Jeremy Soller 2016-09-22 08:43:22 -06:00
  • 10a6e148f0 WIP: Userspace console Jeremy Soller 2016-09-21 12:18:48 -06:00
  • ec240ef778 Clone grants Jeremy Soller 2016-09-20 22:14:08 -06:00
  • b01eb8e47b 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
  • e2ec6fd220 Implement more system calls Jeremy Soller 2016-09-20 16:57:45 -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
  • 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
  • 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
  • 5276c76963 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
  • 4403e3e7ac 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
  • 4821357934 Complete execve - add argument support using safe ABI Jeremy Soller 2016-09-17 21:44:50 -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
  • 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
  • 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
  • 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
  • 038cf5aba1 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
  • 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