Commit graph

238 commits

Author SHA1 Message Date
Jeremy Soller f60661820d Create example userspace scheme. Remove kernel duplication of syscalls, use syscall crate instead 2016-09-20 16:23:28 -06:00
Jeremy Soller 791dbfa7ad Implement user schemes. Example in pcid. Currently deadlocks in UserInner 2016-09-20 08:47:16 -06:00
Jeremy Soller 36fde7c7c5 Allow userspace to handle IRQs (WIP). Create basic keyboard handler 2016-09-18 20:17:08 -06:00
Jeremy Soller 57f5699664 Update libstd. Add CWD and associated syscalls. Remove debugging 2016-09-17 19:01:34 -06:00
Jeremy Soller 7561839cfc Do not optimize kernel 2016-09-17 09:23:55 -06:00
Jeremy Soller 4f6a0fb2b0 Stripping the kernel causes crashes for some reason 2016-09-11 16:13:27 -06:00
Jeremy Soller c9a4b3882c PCI driver WIP 2016-09-11 15:56:48 -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 0b1265d87e Seperate kernel and userspace targets 2016-09-09 19:08:04 -06:00
Jeremy Soller 59327eb1b2 Strip kernel for size, recompile on change of bootloader 2016-09-09 18:31:28 -06:00
Jeremy Soller b326ac0a10 Remove symbols from init executable 2016-09-09 17:28:20 -06:00
Jeremy Soller 8dd26c5239 Compile init as executable using libstd 2016-09-09 17:13:16 -06:00
Jeremy Soller 3cd846a756 Update rust, use redox branch to prepare for libstd 2016-09-09 15:48:54 -06:00
Jeremy Soller afde5f5b5d rebuild init on cargo file change 2016-09-08 19:13:52 -06:00
Jeremy Soller 46f9f90e3c Add syscall library, make init program Rust 2016-09-08 19:10:50 -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 ff4d06f678 More efficient iteration in graphics functions 2016-09-01 15:31:39 -06:00
Jeremy Soller 6e3f59ba8e Simple, unsafe context switch 2016-08-28 18:38:53 -06:00
Jeremy Soller 6715d5c534 Arm! 2016-08-25 17:03:01 -06:00
Jeremy Soller 234fb64999 Add display 2016-08-24 20:10:55 -06:00
Jeremy Soller 9cd48a36a5 Allow OS X compilation 2016-08-20 09:44:14 -06:00
Jeremy Soller 0693540a5b Prepare for higher half - map entire lower 4 GB 2016-08-18 07:56:47 -06:00
Jeremy Soller b0797a5d8a Allocate a very small 4K stack for the other CPUs, increase count to 4 2016-08-17 17:40:18 -06:00
Jeremy Soller ebf9766ef5 Map kernel in AP, WIP 2016-08-17 15:47:54 -06:00
Jeremy Soller 27d5996abf Get the APs into rust code, set stack and page table in trampoline 2016-08-16 21:25:48 -06:00
Jeremy Soller 08900d56c8 Changes to allow for detection and init of ASPs 2016-08-16 18:04:15 -06:00
Jeremy Soller 7b2acdd79c Cleanup ACPI code, find lower tables 2016-08-16 12:16:32 -06:00
Jeremy Soller cc8fe85e6a 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
2016-08-15 14:34:20 -06:00
Jeremy Soller 465363f0a1 Add simple paging, use rust libcore and compile without sse 2016-08-15 11:30:14 -06:00
Jeremy Soller 19077d69db WIP: Schemes 2016-08-14 21:38:32 -06:00
Jeremy Soller 4e270bb807 Add context and file structs 2016-08-14 18:16:56 -06:00
Jeremy Soller 29b6544d8f Add test architecture 2016-08-14 14:59:18 -06:00
Jeremy Soller 42c9ba12dc Remove interrupt setup from asm bootloader, add io module, memcpy functions, and serial driver 2016-08-14 09:31:35 -06:00
Jeremy Soller dea137be73 WIP: IDT in rust 2016-08-13 18:58:31 -06:00
Jeremy Soller d5902c5a20 Bootable kernel skeleton 2016-08-13 18:21:46 -06:00