44 Commits

Author SHA1 Message Date
Baptiste Wicht
0afba27e41 Try for user mode 2014-01-19 17:57:37 +01:00
Baptiste Wicht
7a855c780a Update copyright 2014-01-16 21:03:18 +01:00
Baptiste Wicht
fb46c6c9a5 Remove old debug utilities 2014-01-09 20:37:10 +01:00
Baptiste Wicht
2df9def686 Finish memory allocation for programs 2014-01-09 20:36:40 +01:00
Baptiste Wicht
dfd32786f9 Fix bugs 2014-01-08 21:34:01 +01:00
Baptiste Wicht
d25e567201 Testing 2014-01-07 22:47:00 +01:00
Baptiste Wicht
dfcca04b51 Prepare paging and memory support for running programs 2014-01-06 20:59:22 +01:00
Baptiste Wicht
e43326a2c0 Add support for displaying signed numbers 2013-12-24 14:19:42 +01:00
Baptiste Wicht
f520ad946a Implement immediate coalescing strategy 2013-12-19 14:20:09 +01:00
Baptiste Wicht
043fbcbd26 Refactorings 2013-12-19 10:32:23 +01:00
Baptiste Wicht
17abc063c5 Cleanup 2013-12-18 22:28:32 +01:00
Baptiste Wicht
8d9befa820 Set the blocks in the free list as free 2013-12-18 22:27:07 +01:00
Baptiste Wicht
5dc85ebe55 Cleanup 2013-12-18 21:33:22 +01:00
Baptiste Wicht
52fba92d59 Align memory on eight bytes 2013-12-18 20:16:42 +01:00
Baptiste Wicht
632a177aec Avoid creating too many small blocks 2013-12-18 18:24:11 +01:00
Baptiste Wicht
c7026b5db9 Add utility to debug malloc 2013-12-18 18:12:09 +01:00
Baptiste Wicht
dfe3e1e34f Finalize e820 2013-12-16 22:07:05 +01:00
Baptiste Wicht
2cb4d1c71c Fake temporarily the e820 map during restructuration of the boot process 2013-12-10 17:50:42 +01:00
Baptiste Wicht
5c85778b61 Use paging implementation in memory 2013-12-09 21:41:16 +01:00
Baptiste Wicht
e0c38a1274 Move paging out of memory 2013-12-07 20:10:27 +01:00
Baptiste Wicht
19b480452d Create function to identity map some physical address 2013-12-06 22:05:28 +01:00
Baptiste Wicht
eb9575cad2 Better tracing 2013-11-24 16:58:40 +01:00
Baptiste Wicht
fa3eb1e6d9 Disable tracing 2013-11-10 15:32:08 +01:00
Baptiste Wicht
3b4c89d6b2 Fix memory calculations 2013-11-10 15:20:28 +01:00
Baptiste Wicht
296a5ced90 Cleanup 2013-11-08 18:21:15 +01:00
Baptiste Wicht
f02f437649 Apply the License to all source files 2013-11-06 21:55:54 +01:00
Baptiste Wicht
0cccf363ec memory allocator improvements
Fix small bug with the split decision of k_malloc
Add debug routines
2013-11-06 21:38:37 +01:00
Baptiste Wicht
3f3b388d61 Fix e820 mmap 2013-11-04 19:56:18 +01:00
Baptiste Wicht
a3e6d6aab6 Improve compiling
Use cross compiler instead of normal G++
Improve compiler options
2013-11-04 15:01:46 +01:00
Baptiste Wicht
c5afd61093 Fix k_free 2013-11-02 23:28:31 +01:00
Baptiste Wicht
32a6f4a155 Add information about the used memory 2013-11-02 15:36:49 +01:00
Baptiste Wicht
4f74c84ef2 Implement k_free 2013-11-01 18:17:30 +01:00
Baptiste Wicht
72ae92dfae Cleanup 2013-11-01 18:09:05 +01:00
Baptiste Wicht
3f41625b80 Fix the use of the PML4 Table 2013-11-01 17:31:07 +01:00
Baptiste Wicht
76d13ba968 First working version of block allocation 2013-11-01 17:09:06 +01:00
Baptiste Wicht
5fbd8537d9 Implement block allocation algorithm 2013-11-01 15:11:00 +01:00
Baptiste Wicht
a49dc69306 Cleanup 2013-11-01 14:19:47 +01:00
Baptiste Wicht
d6b261ed13 Finish the base memory allocator 2013-11-01 14:13:23 +01:00
Baptiste Wicht
32c7ddddc5 First draft of memory allocator 2013-10-31 19:09:11 +01:00
Baptiste Wicht
edaf529eb9 Mark the block where the kernel resides as not free 2013-10-31 16:47:07 +01:00
Baptiste Wicht
5ddb73fce6 Refactorings 2013-10-31 16:09:13 +01:00
Baptiste Wicht
9c1bc277be Handle BIOS entry format only internally
Expose only the OS format
2013-10-31 16:07:40 +01:00
Baptiste Wicht
46ca4a53d7 Convert and print memory map 2013-10-31 15:46:05 +01:00
Baptiste Wicht
b065efce2b Start implementation of memory management in C++ kernel 2013-10-31 14:07:10 +01:00