Commit graph

25 commits

Author SHA1 Message Date
Jeremy Soller 4331195693 Allocate AP stack linearly 2016-09-28 08:59:14 -06:00
Jeremy Soller 70a2faa0c7 Correctly position stack in higher half 2016-09-19 08:46:11 -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 ea8b9189a3 Pass page table of BSP to AP 2016-09-12 15:50:16 -06:00
Jeremy Soller 11eddfecd1 Cleanup PML4 entries, pass correct cpu ID to trampoline 2016-09-12 13:06:00 -06:00
Jeremy Soller 7ace92c60c Show where frame allocator ran out 2016-09-10 16:28:01 -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 d3dfff8d51 Improvements for context switching 2016-08-30 16:23:51 -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 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 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 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