Commit Graph

  • 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
  • 954af453dc Remove clone from context Jeremy Soller 2016-08-18 09:02:31 -06:00
  • 8fc113adef Refactor context list Jeremy Soller 2016-08-18 08:30:45 -06:00
  • 0bd1cda1b6 Cleanup schemes list, remove lazy_static Jeremy Soller 2016-08-18 08:10:08 -06:00
  • b9e721d4e1 Print out more useful information about AP and BSP, create kmain_ap Jeremy Soller 2016-08-17 19:38:04 -06:00
  • 996996b0a9 Keep track of AP count, allocate bigger AP stack, stack trace function Jeremy Soller 2016-08-17 19:34:33 -06:00
  • 1993e701dd Remove warnings Jeremy Soller 2016-08-17 16:54:48 -06:00
  • 9f79abe542 Lazy static init of schemes Jeremy Soller 2016-08-16 11:04:14 -06:00
  • 26397084f6 Cleanup, use spinlock for allocator Jeremy Soller 2016-08-15 15:01:24 -06:00
  • e0daabde05 GDT and IDT in kernel space Paging constructs completed, remap kernel before jumping to kmain Panic will do a stack trace Remove SSE from none target Jeremy Soller 2016-08-15 14:34:20 -06:00
  • 7da6696a34 Add simple paging, use rust libcore and compile without sse Jeremy Soller 2016-08-15 11:29:53 -06:00
  • 74ccbaa4a6 Bump allocator Jeremy Soller 2016-08-14 22:05:32 -06:00
  • 38f1a4fb76 WIP: Schemes Jeremy Soller 2016-08-14 21:38:32 -06:00
  • 946fd79e83 Test for BadFile Jeremy Soller 2016-08-14 19:17:55 -06:00
  • dd280a5d1a Add stdout/stderr tests Jeremy Soller 2016-08-14 18:22:50 -06:00
  • f79d6ce12b Add context and file structs Jeremy Soller 2016-08-14 18:16:56 -06:00
  • 04a6a45fac WIP: Exec Jeremy Soller 2016-08-14 16:07:41 -06:00
  • 6cfa38c5ba Add syscall module Jeremy Soller 2016-08-14 15:58:35 -06:00
  • 621de7fa8a Add test architecture Jeremy Soller 2016-08-14 14:59:18 -06:00
  • 916a87fb33 Merge branch 'master' of github.com:redox-os/kernel ticki 2016-08-14 20:55:19 +02:00
  • 2b50588c29 Interrupt tables. ticki 2016-08-14 20:54:23 +02:00
  • faa2b3ac63 Add comment Jeremy Soller 2016-08-14 12:11:53 -06:00
  • 4cb9df8fa8 Move arch to seperate crate Jeremy Soller 2016-08-14 11:45:47 -06:00
  • fb99ec7e6d Strongly typed virtual/physical memory seperation. ticki 2016-08-14 19:21:21 +02:00
  • b2fe1799fd Rename the src directory to kernel. ticki 2016-08-14 18:42:32 +02:00
  • b7608c1530 Merge pull request #1 from redox-os/new_abi Jeremy Soller 2016-08-10 19:18:32 -06:00
  • 35ed814e68 WIP: Switch to new ABI Jeremy Soller 2016-08-08 21:31:12 -06:00