Commit Graph

  • 9c16bca2a5 Fix warning Jeremy Soller 2016-09-28 08:58:51 -06:00
  • 30301ee08f Build with filesystem Jeremy Soller 2016-09-27 21:56:29 -06:00
  • 9bd5d69776 Compatibility with new kernel Jeremy Soller 2016-09-27 21:55:57 -06:00
  • 11f3485173 Port to new kernel Jeremy Soller 2016-09-27 21:19:28 -06:00
  • 2c9a953295 Remove unnecessary slash Jeremy Soller 2016-09-26 17:39:58 -06:00
  • 33a533665b WIP: AHCI drivers and more memory syscalls Jeremy Soller 2016-09-26 17:00:06 -06:00
  • bc4f29d3c8 WIP: AHCI drivers and more memory syscalls Jeremy Soller 2016-09-26 17:00:06 -06:00
  • a1311b50d7 Encode many of the file syscalls Jeremy Soller 2016-09-25 11:20:59 -06:00
  • 5877c8ac16 Encode many of the file syscalls Jeremy Soller 2016-09-25 11:20:59 -06:00
  • a2038f5f9a Event support - demonstration in example scheme Jeremy Soller 2016-09-23 17:54:39 -06:00
  • 1e2e5a5d31 Event support - demonstration in example scheme Jeremy Soller 2016-09-23 17:54:39 -06:00
  • a57b45e86b WIP: Kevent Jeremy Soller 2016-09-23 15:47:53 -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
  • 02f2227d55 allow mode selection again Jeremy Soller 2016-09-22 17:16:32 -06:00
  • 35ad65bbda Enable SSE and FPU Jeremy Soller 2016-09-22 16:14:45 -06:00
  • 69a7219669 Remove bochs breakpoint Jeremy Soller 2016-09-22 16:13:32 -06:00
  • 57d8d71617 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • d925e4fc8a Correctly position stack in higher half Jeremy Soller 2016-09-19 08:46:11 -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
  • 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
  • 83562fb0a9 Remove debug break Jeremy Soller 2016-09-17 09:20:13 -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
  • c9c17ca1c6 Higher-half kernel mapping. Unmap where possible, freeing up lower memory Jeremy Soller 2016-09-14 20:47:55 -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
  • aed852722f 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
  • 1814e62a3f Initialize FPU and SSE on APs Jeremy Soller 2016-09-12 20:37:22 -06:00
  • 3cb97b8a42 Simplify bootloader GDT Jeremy Soller 2016-09-12 15:49:54 -06:00
  • efaeb22163 Map kernel TLS to general area Jeremy Soller 2016-09-12 15:02:03 -06:00
  • 0ae320e36e Cleanup PML4 entries, pass correct cpu ID to trampoline Jeremy Soller 2016-09-12 13:06:00 -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
  • 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
  • 1826ca1c4b Implement exec Implement brk Jeremy Soller 2016-09-10 22:06:09 -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
  • fc5ddc8764 Reorganize kernel memory mappings Jeremy Soller 2016-09-10 18:48:27 -06:00
  • 0d115508be Seperate kernel and userspace targets Jeremy Soller 2016-09-09 19:08:04 -06:00
  • 933af613a1 Prepare for higher half Jeremy Soller 2016-09-09 18:31:48 -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