Commit graph

99 commits

Author SHA1 Message Date
Jeremy Soller 483d466b1a 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 cfbaccf4d2 Complete execve - add argument support using safe ABI 2016-09-17 21:44:50 -06:00
Jeremy Soller d5766c092f Remove debug breaks 2016-09-17 09:19:55 -06:00
Jeremy Soller 4e78a12002 Do not halt on page fault, do a stack dump 2016-09-17 08:13:09 -06:00
Jeremy Soller aa7e38882b Map display in kernel shared memory 2016-09-15 08:50:29 -06:00
Jeremy Soller 53a5a9188a Remove debugging 2016-09-15 08:39:20 -06:00
Jeremy Soller 33e098c124 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 b01a918556 WIP: Create new page table for clone 2016-09-14 22:21:52 -06:00
Jeremy Soller c000820d72 Move kernel heap into kernel PML4, now a single PML4 needs to be copied to initialize a new table 2016-09-14 21:28:09 -06:00
Jeremy Soller 83bc8a0da5 Higher-half kernel mapping. Unmap where possible, freeing up lower memory 2016-09-14 20:47:55 -06:00
Jeremy Soller 6e16298e71 WIP: Copy usermode stack 2016-09-13 21:27:27 -06:00
Jeremy Soller 3f9012b931 Restore page fault handler 2016-09-13 20:35:01 -06:00
Jeremy Soller dc87afd2ac Fix userspace clone by clobbering all variables on clone 2016-09-13 20:31:45 -06:00
Jeremy Soller ce50faf7ca Allow cloning of kernel threads. Userspace breaks potentially due to stack aliasing 2016-09-13 20:06:39 -06:00
Jeremy Soller 31fdc8f175 Cleanup usermode jump 2016-09-12 17:52:38 -06:00
Jeremy Soller e50e6d2e4f Remove user TLS 2016-09-12 15:52:04 -06:00
Jeremy Soller ea8b9189a3 Pass page table of BSP to AP 2016-09-12 15:50:16 -06:00
Jeremy Soller 6d675fc43a Map kernel TLS to general area 2016-09-12 15:02:03 -06:00
Jeremy Soller 11eddfecd1 Cleanup PML4 entries, pass correct cpu ID to trampoline 2016-09-12 13:06:00 -06:00
Jeremy Soller 1298e38ed8 cr3 in context 2016-09-12 12:21:34 -06:00
Jeremy Soller bed09d0518 Allow thread control block to be moved 2016-09-11 18:25:05 -06:00
Jeremy Soller f05cc96db1 KVM default off, ack after irq handling 2016-09-11 15:13:09 -06:00
Jeremy Soller 8563961f28 Flush TLB correctly when remapping
Seperate mouse and keyboard structs in PS/2 driver
2016-09-11 15:02:35 -06:00
Jeremy Soller 44e8b99b46 Implement exec
Implement brk
2016-09-10 22:06:09 -06:00
Jeremy Soller 00db6ddd62 vga=no mode and serial echo 2016-09-10 19:24:16 -06:00
Jeremy Soller 842826c1b0 Implement sched_yield, enable interrupts in userspace 2016-09-10 19:18:59 -06:00
Jeremy Soller bd7bca30fa Remove debugging messages, launch elf on APs 2016-09-10 19:03:31 -06:00
Jeremy Soller ce717ff277 Reorganize kernel memory mappings 2016-09-10 18:48:27 -06:00
Jeremy Soller 7ace92c60c Show where frame allocator ran out 2016-09-10 16:28:01 -06:00
Jeremy Soller 729c7fd004 Prepare for higher half 2016-09-09 18:31:48 -06:00
Jeremy Soller 5d97fd75c7 Fix crash in libstd 2016-09-09 17:25:56 -06:00
Jeremy Soller 3cd846a756 Update rust, use redox branch to prepare for libstd 2016-09-09 15:48:54 -06:00
Jeremy Soller fcec69efdc remove bochs breaks 2016-09-08 15:53:45 -06:00
Jeremy Soller a5d79d7957 Nographic mode, fix userspace transition by setting kernel TLS back on syscall 2016-09-08 15:45:26 -06:00
Jeremy Soller fb0df8530d Debug reads writes better, set up stdio for BSP 2016-09-07 21:32:09 -06:00
Jeremy Soller 850792bbf1 Load a very simple ELF and launch it in usermode 2016-09-07 21:16:30 -06:00
Jeremy Soller 398838dc1b Log bad mouse events 2016-09-07 19:35:50 -06:00
Jeremy Soller 486b11eb1c Force scancode set, combine keyboard packets 2016-09-02 14:47:56 -06:00
Jeremy Soller f45958f449 Fix stack trace, WIP usermode 2016-09-02 12:27:45 -06:00
Jeremy Soller 7a4c5de2ae Assertions in PS/2 driver 2016-09-01 21:01:38 -06:00
Jeremy Soller 3d79c653bd Enable display first to catch ps2 output 2016-09-01 20:52:52 -06:00
Jeremy Soller 69faf5f377 Do not disable local apic, it appears to turn off irqs on BSP 2016-09-01 20:23:47 -06:00
Jeremy Soller da88cdcb61 Better debugging messages 2016-09-01 20:16:58 -06:00
Jeremy Soller f706dda8af Support both X2 and XAPIC modes 2016-09-01 19:54:44 -06:00
Jeremy Soller a4da0121ea Make sure to enable xAPIC mode as well as x2APIC mode 2016-09-01 17:23:04 -06:00
Jeremy Soller f14569e313 Only one AP can start at a time 2016-09-01 17:08:43 -06:00
Jeremy Soller c74abfc8a7 Set write combining for AP 2016-09-01 17:08:15 -06:00
Jeremy Soller 7ae58a11d7 Remove debugging times, set PIT to slower frequency 2016-09-01 16:46:34 -06:00
Jeremy Soller 817638b7aa Write combining is useable on real hardware, significantly improving scroll performance 2016-09-01 16:14:42 -06:00
Jeremy Soller ff4d06f678 More efficient iteration in graphics functions 2016-09-01 15:31:39 -06:00