Commit graph

30 commits

Author SHA1 Message Date
Jeremy Soller 941fc0b494 Grant to allow passing data to scheme handler 2016-09-20 14:50:04 -06:00
Jeremy Soller 70a2faa0c7 Correctly position stack in higher half 2016-09-19 08:46:11 -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 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 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 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 a5d79d7957 Nographic mode, fix userspace transition by setting kernel TLS back on syscall 2016-09-08 15:45:26 -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 f45958f449 Fix stack trace, WIP usermode 2016-09-02 12:27:45 -06:00
Jeremy Soller f14569e313 Only one AP can start at a time 2016-09-01 17:08:43 -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 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 0693540a5b Prepare for higher half - map entire lower 4 GB 2016-08-18 07:56:47 -06:00
Jeremy Soller 26c86f8242 Set page table of AP to BSP, to allow mapping of heap to be shared 2016-08-17 19:06:33 -06:00
Jeremy Soller b756dd59eb Remove warnings 2016-08-17 16:54:48 -06:00
Jeremy Soller 78432b3875 Move frame allocation to two global functions, locking happens inside them 2016-08-17 16:26:43 -06:00
Jeremy Soller ebf9766ef5 Map kernel in AP, WIP 2016-08-17 15:47:54 -06:00
Jeremy Soller 7a1c263bc1 WIP: ACPI
Map and find ACPI tables, starting with RSDT
2016-08-15 18:37:58 -06:00
Jeremy Soller 2a66a84a50 Cleanup, use spinlock for allocator 2016-08-15 15:01:24 -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