Commit graph

45 commits

Author SHA1 Message Date
Jeremy Soller 1e5d992ab5 Show mouse trail 2016-09-01 07:05:46 -06:00
Jeremy Soller 3b700191cf Set up fourth mouse packet 2016-08-31 22:31:51 -06:00
Jeremy Soller 555ad5fd92 Nearly complete PS/2 driver 2016-08-31 21:40:34 -06:00
Jeremy Soller f784e9a06a Fill in all exception and IRQ entries. Handle PIT, keyboard IRQs 2016-08-31 17:45:21 -06:00
Jeremy Soller d3dfff8d51 Improvements for context switching 2016-08-30 16:23:51 -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 2be7ccaec2 Arch context in kernel context 2016-08-24 10:35:42 -06:00
Jeremy Soller f6e57ff5d1 Add arch context, WIP switching 2016-08-22 19:56:35 -06:00
Jeremy Soller 4ced24e8d1 Setup TSS, using thread local storage 2016-08-22 14:53:03 -06:00
Jeremy Soller 3eca1e3451 Thread local TSS 2016-08-22 14:47:33 -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 7aafc165ec Use x86 crate for definition of TSS and GDTR, WIP: loading TSS 2016-08-19 13:09:00 -06:00
Jeremy Soller 55a0154eac Switch to goblin as executable parser 2016-08-19 07:57:24 -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 490dd16776 Refactor context list 2016-08-18 08:30:45 -06:00
Jeremy Soller 0693540a5b Prepare for higher half - map entire lower 4 GB 2016-08-18 07:56:47 -06:00
Jeremy Soller 8ddddcec9f Print out more useful information about AP and BSP, create kmain_ap 2016-08-17 19:38:04 -06:00
Jeremy Soller 0d995bfb5c Keep track of AP count, allocate bigger AP stack, stack trace function 2016-08-17 19:34:33 -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 48741e3b99 Do not map heap on AP, due to it being independent from the BSP heap. We need to adjust the mapping so that kernel mappings are shared accross processors, probably using higher half mapping for the kernel 2016-08-17 17:46:56 -06:00
Jeremy Soller ec1302bbe1 Remove debugging 2016-08-17 17:41:42 -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 979d80a8c7 Fix locking in serial port 2016-08-17 17:24:10 -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 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 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 7a1c263bc1 WIP: ACPI
Map and find ACPI tables, starting with RSDT
2016-08-15 18:37:58 -06:00
Jeremy Soller fda1ab2327 Global allocator, page table - protected by spinlock 2016-08-15 16:29:54 -06:00
Jeremy Soller 617516b949 Move main to start 2016-08-15 15:32:33 -06:00
Jeremy Soller eccb99d67d Use linked list allocator 2016-08-15 15:27:32 -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
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 b130f9a860 Magic to make interrupt functions easy to write 2016-08-14 12:08:42 -06:00
Jeremy Soller 2730144e2a Move arch to seperate crate 2016-08-14 11:45:47 -06:00