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