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
|
ce50faf7ca
|
Allow cloning of kernel threads. Userspace breaks potentially due to stack aliasing
|
2016-09-13 20:06:39 -06:00 |
|
Jeremy Soller
|
31fdc8f175
|
Cleanup usermode jump
|
2016-09-12 17:52:38 -06:00 |
|
Jeremy Soller
|
ea8b9189a3
|
Pass page table of BSP to AP
|
2016-09-12 15:50:16 -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
|
bed09d0518
|
Allow thread control block to be moved
|
2016-09-11 18:25:05 -06:00 |
|
Jeremy Soller
|
842826c1b0
|
Implement sched_yield, enable interrupts in userspace
|
2016-09-10 19:18:59 -06:00 |
|
Jeremy Soller
|
bd7bca30fa
|
Remove debugging messages, launch elf on APs
|
2016-09-10 19:03:31 -06:00 |
|
Jeremy Soller
|
ce717ff277
|
Reorganize kernel memory mappings
|
2016-09-10 18:48:27 -06:00 |
|
Jeremy Soller
|
5d97fd75c7
|
Fix crash in libstd
|
2016-09-09 17:25:56 -06:00 |
|
Jeremy Soller
|
3cd846a756
|
Update rust, use redox branch to prepare for libstd
|
2016-09-09 15:48:54 -06:00 |
|
Jeremy Soller
|
fcec69efdc
|
remove bochs breaks
|
2016-09-08 15:53:45 -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
|
0ccfd2125a
|
Improve efficiency of kernel console
|
2016-09-01 14:39:45 -06:00 |
|
Jeremy Soller
|
d7d61f82af
|
Draw on VESA for console using ransid
|
2016-09-01 11:51:33 -06:00 |
|
Jeremy Soller
|
53c71d9183
|
Warnings removal
|
2016-09-01 11:14:47 -06:00 |
|
Jeremy Soller
|
543ef3d96f
|
Add serial init and serial interrupts
|
2016-09-01 11:10:56 -06:00 |
|
Jeremy Soller
|
722d738254
|
Fix mouse position, map display on APs
|
2016-09-01 08:12:50 -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
|
234fb64999
|
Add display
|
2016-08-24 20:10:55 -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
|
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
|
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
|
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
|
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 |
|