Commit graph

32 commits

Author SHA1 Message Date
Jeremy Soller 5721582f81 allow mode selection again 2016-09-22 17:16:32 -06:00
Jeremy Soller e3df5194fe Remove bochs breakpoint 2016-09-22 16:13:32 -06:00
Jeremy Soller 70a2faa0c7 Correctly position stack in higher half 2016-09-19 08:46:11 -06:00
Jeremy Soller da9e703c4d Remove debug break 2016-09-17 09:20:13 -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 dc87afd2ac Fix userspace clone by clobbering all variables on clone 2016-09-13 20:31:45 -06:00
Jeremy Soller 0a2abe0f54 Initialize FPU and SSE on APs 2016-09-12 20:37:22 -06:00
Jeremy Soller 6560cc653b Simplify bootloader GDT 2016-09-12 15:49:54 -06:00
Jeremy Soller 11eddfecd1 Cleanup PML4 entries, pass correct cpu ID to trampoline 2016-09-12 13:06:00 -06:00
Jeremy Soller 44e8b99b46 Implement exec
Implement brk
2016-09-10 22:06:09 -06:00
Jeremy Soller ce717ff277 Reorganize kernel memory mappings 2016-09-10 18:48:27 -06:00
Jeremy Soller 729c7fd004 Prepare for higher half 2016-09-09 18:31:48 -06:00
Jeremy Soller 3d79c653bd Enable display first to catch ps2 output 2016-09-01 20:52:52 -06:00
Jeremy Soller aad69e8a6c Reduce bootloader messages 2016-09-01 20:45:26 -06:00
Jeremy Soller 7ae58a11d7 Remove debugging times, set PIT to slower frequency 2016-09-01 16:46:34 -06:00
Jeremy Soller 6715d5c534 Arm! 2016-08-25 17:03:01 -06:00
Jeremy Soller c2a95c96d5 Fixes for real hardware 2016-08-24 20:31:59 -06:00
Jeremy Soller f6e57ff5d1 Add arch context, WIP switching 2016-08-22 19:56:35 -06:00
Jeremy Soller 7a59e08e70 Fix thread locals 2016-08-20 08:39:03 -06:00
Jeremy Soller 8ddd0ad3f0 WIP: Thread control block and TSS in kernel 2016-08-19 17:38:37 -06:00
Jeremy Soller 0501b2580d Setup independent page tables, map heap to a single location 2016-08-19 14:53:16 -06:00
Jeremy Soller 5588c38178 Add syscall handler, still work in progress
Add elf files
2016-08-18 19:44:31 -06:00
Jeremy Soller 0693540a5b Prepare for higher half - map entire lower 4 GB 2016-08-18 07:56:47 -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 a8948fb246 Hooks to get the other CPUs into long mode 2016-08-16 20:37:38 -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 2730144e2a Move arch to seperate crate 2016-08-14 11:45:47 -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