|
f0e6a35941
|
Find and read ACPI tables
|
2018-03-29 19:36:33 +02:00 |
|
|
20ae7d56b3
|
TODO - Distribute those changes earlier
|
2018-03-29 19:36:33 +02:00 |
|
|
80aad418fc
|
Cleanup and commenting
|
2018-03-29 19:36:33 +02:00 |
|
|
cce444f546
|
Reference cpu specific information via gs segment
|
2018-03-29 19:36:33 +02:00 |
|
|
01ff25eefb
|
Collect cpu specific information at one place
|
2018-03-29 19:36:33 +02:00 |
|
|
4c4e7136cc
|
Handle pagefaults caused by running of the stack
|
2018-03-29 19:36:33 +02:00 |
|
|
28c82567a0
|
Process page fault handler
|
2018-03-29 19:36:33 +02:00 |
|
|
4ecec1eec6
|
Stupidly simple process memory manager with brk()
|
2018-03-29 19:36:33 +02:00 |
|
|
19d58ec71d
|
Functions for copying stuff between kernel and user space
|
2018-03-29 19:36:33 +02:00 |
|
|
42baf14321
|
A bit of cleanup
|
2018-03-29 19:36:33 +02:00 |
|
|
68ec6fa575
|
Running in user mode
|
2018-03-29 19:36:32 +02:00 |
|
|
6c078289f9
|
Load TSS
|
2018-03-29 19:36:32 +02:00 |
|
|
132645c0e6
|
Reload GDT from c
|
2018-03-29 19:36:32 +02:00 |
|
|
04f2123499
|
Move BootGDT definition to C
|
2018-03-29 19:36:32 +02:00 |
|
|
e868b83f50
|
At this point the threads are really processes...
|
2018-03-29 19:36:32 +02:00 |
|
|
6523b10984
|
Threads have isolated memory spaces
|
2018-03-29 19:36:32 +02:00 |
|
|
2d0f539e23
|
Create and load new page directories
|
2018-03-29 19:36:32 +02:00 |
|
|
d483d8f39e
|
Global variables are overwritten... let's fix that
|
2018-03-29 19:36:32 +02:00 |
|
|
a39fdcf3ce
|
Adding a scheduler function and cleanup
|
2018-03-29 19:36:32 +02:00 |
|
|
b5f5a40fbc
|
Further queue improvements
|
2018-03-21 23:12:43 +01:00 |
|
|
e5da45df2f
|
Queue improvements
|
2018-03-21 23:12:43 +01:00 |
|
|
8af18644a3
|
Interface cleanup
|
2018-03-21 23:12:43 +01:00 |
|
|
024d772be8
|
Queues using some macro magic
|
2018-03-21 23:12:43 +01:00 |
|
|
fd0ca6f617
|
Rename some stuff - cleanup
|
2018-03-21 23:12:43 +01:00 |
|
|
13946b1758
|
Pass around tcbs instead of thread stacks
|
2018-03-21 23:12:43 +01:00 |
|
|
1fca5af522
|
Change interface for getting and setting current thread
|
2018-03-21 23:12:43 +01:00 |
|
|
c26434f814
|
Some threading code cleanup
|
2018-03-21 23:12:43 +01:00 |
|
|
251b5f71c9
|
Simple scheduler
|
2018-03-21 23:12:43 +01:00 |
|
|
1e2f81a5d8
|
Very simple threading and context switching.
|
2018-03-21 23:12:43 +01:00 |
|
|
fc6c7f3bc7
|
VMM -- Interface cleanup
|
2018-03-21 09:21:40 +01:00 |
|
|
4011b5f12f
|
VMM -- Use a simple uint64 for page table entries
|
2018-03-20 15:41:27 +01:00 |
|
|
cb09833ebc
|
VMM -- Know what? Let's ignore huge pages for simplicity
|
2018-03-20 14:11:22 +01:00 |
|
|
ae2de799f3
|
VMM -- Various cleanup
|
2018-03-20 14:11:22 +01:00 |
|
|
e86857dca4
|
PMM -- simplification of code
|
2018-03-20 14:11:22 +01:00 |
|
|
9bc1abceff
|
VMM -- Touch and set page in one operation
|
2018-03-20 14:11:22 +01:00 |
|
|
df0df93da7
|
Don't put multiboot data in page stack
|
2018-03-20 14:11:22 +01:00 |
|
|
36c517dd82
|
Use a direct address for P4 rather than a pointer
|
2018-03-20 14:11:22 +01:00 |
|
|
8711fee390
|
Interface cleanup
|
2018-03-20 14:11:22 +01:00 |
|
|
9a479b1132
|
Add a PAGE_GLOBAL flag for kernel pages
|
2018-03-20 14:11:22 +01:00 |
|
|
470eb5e9f9
|
Also map non-free memory areas into kernel space
|
2018-03-20 14:11:22 +01:00 |
|
|
3a4136c225
|
PMM -- calloc function for getting cleared pages
|
2018-03-20 14:11:22 +01:00 |
|
|
5dc4e27392
|
Map all free memory pages and add to page stack
|
2018-03-20 14:11:22 +01:00 |
|
|
cf1b631461
|
VMM -- making sure things will work with virtual memory
|
2018-03-20 14:11:22 +01:00 |
|
|
8ac8bc7b6c
|
VMM -- adding interface to header file
|
2018-03-20 14:11:22 +01:00 |
|
|
ce937c8088
|
VMM - free_page does not unset P2 entry if P1 is not empty
|
2018-03-20 14:11:22 +01:00 |
|
|
96a877c95b
|
VMM - touch_page stops at P2 for huge pages
|
2018-03-20 14:11:22 +01:00 |
|
|
e68698ff80
|
VMM - set_page does not overwrite 4kb pages with 2mb
|
2018-03-20 14:11:22 +01:00 |
|
|
518eaf73c3
|
VMM - set_page sets 2Mb pages
|
2018-03-20 14:11:22 +01:00 |
|
|
f81e5cd8b0
|
VMM - get_page gets 2mb pages
|
2018-03-20 14:11:22 +01:00 |
|
|
69022cadd5
|
VMM -- refactoring, break out test for page presence
|
2018-03-20 14:11:22 +01:00 |
|