Commit graph

239 commits

Author SHA1 Message Date
cf2a6c7f3c Initialize the PageAllocator as part of the memory subsystem
Almost there!
2016-04-25 10:34:45 -04:00
65513588f8 Lots of fussing about getting the PageEntry stuff right
I think I got something I am mostly happy with... :-)
2016-04-25 10:34:16 -04:00
7414aec667 Rename Pager -> PageAllocator 2016-04-25 10:31:42 -04:00
cb78f4cfaa PageAllocator! 2016-04-24 19:21:35 -04:00
27dad4d3f5 Fix warnings in printing memory map 2016-04-24 19:21:19 -04:00
afa0ff1b78 Page parameter twiddles 2016-04-24 19:18:05 -04:00
4f1dae37d8 Comments about the FrameAllocator 2016-04-24 19:16:53 -04:00
efcd5218a4 Bit manipulation routines 2016-04-24 19:15:50 -04:00
fa94fb7f0b Use fromPointer to convert pointer in printFormat() 2016-04-17 16:50:15 -04:00
a3901330cd Add CString::fromPointer() 2016-04-17 16:49:50 -04:00
e58c29e15d Define pointer integer types 2016-04-17 16:49:24 -04:00
d11120956e Add Type::Pointer to printFormat() 2016-04-17 16:16:17 -04:00
f641b5fc8d That goddamn auto&
Setting frames works now!
2016-04-16 01:26:05 -04:00
1daa3df74e Remove all the range checking from Bitmap 2016-04-16 01:24:28 -04:00
99d3e85ba5 Namespace comment update 2016-04-14 10:42:47 -04:00
a212d6f9d0 >= in reserve method to catch that last chunk of frames 2016-04-14 10:42:37 -04:00
eb419802e2 Flatten the frame allocator routine 2016-04-14 10:42:14 -04:00
cca8cab1ae Allocate a frame as a means of testing 2016-04-14 02:36:39 -04:00
99d29e48ac Fix stupid page allocator bitmap silliness 2016-04-14 02:36:26 -04:00
58817e7ced Figure out fill() and isFull()
Stupid casting.
2016-04-14 02:35:50 -04:00
e92718cad0 Dead simple frame allocator
Looks for the first free page frame in the bitmap and returns it
2016-04-14 01:38:36 -04:00
1e02f3779d Add number of pages as attribute of FrameAllocator 2016-04-14 01:38:02 -04:00
3d0ee684ba Change pageSize and pageMask to usize from u32 2016-04-14 01:37:28 -04:00
9f115c3dea Add Bitmap::isFull() 2016-04-14 01:36:41 -04:00
eb7997c037 Use startPage, not start, to calculate initial bitmapIndex and bitmapOffset 2016-04-14 00:10:48 -04:00
051dc27006 Remove pageSize from StartupInformation -- it is assumed 2016-04-13 23:41:28 -04:00
109ea7ce2e Allocate space for a frame bitmap
Basically there, but still some kinks to work out...
2016-04-13 00:24:33 -04:00
764297de59 A Bitmap class, basically a wrapper for bit shifting and masking 2016-04-13 00:22:58 -04:00
57aaad7d22 Move memory map dump to MemoryManager::initialize 2016-04-13 00:21:57 -04:00
93b11307fa Add memory::pageAlignUp/Down functions 2016-04-13 00:21:28 -04:00
9ce71e5596 Add memorySize() method to StartupInformation 2016-04-09 15:23:01 -04:00
4ad6ce98fc Define pageSize = 4096 2016-04-09 15:22:25 -04:00
9f911e2197 Initialize the frame allocator
Does not actually do anything yet...
2016-04-09 13:51:47 -04:00
d8306cf995 Wrap PrintFormat in once block 2016-04-09 13:45:20 -04:00
31cba1bdc8 Use my own int types for Multiboot 2016-04-09 13:33:20 -04:00
95b524a94d Use kernelSize() from StartupInformation instead of calculating kernel size directly 2016-04-09 13:30:45 -04:00
ef15019757 Move StartupInformation struct to its own file 2016-04-09 13:30:18 -04:00
35997c61b6 Barebones for a FrameAllocator class 2016-04-03 20:02:34 -04:00
75af75af4e Fix up the build -- all the build errors 2016-03-29 12:07:10 -04:00
8411502db5 Fix up the build -- build PrintFormat from kstd 2016-03-29 12:04:40 -04:00
014a18add0 Use printFormat from kstd instead of from Console 2016-03-29 12:00:49 -04:00
31c13bcba2 Pass system kernel's console to the internal print() function 2016-03-29 11:56:06 -04:00
f8778d739c Print address of multiboot information struct 2016-03-29 11:53:40 -04:00
7e266a2837 Move printFormat() to kstd 2016-03-29 11:53:16 -04:00
27fd989245 Print kernel image size on a single line 2016-03-26 19:40:44 -04:00
77ab0175da Move Memory to memory/ 2016-03-26 19:40:31 -04:00
9cb2debd3a Property format the panic message 2016-03-25 02:15:17 -04:00
354e15012e Add a va_list printFormat 2016-03-25 02:09:49 -04:00
9680a2a9c5 Add the multiboot magic value to the startup info struct. 2016-03-25 01:39:07 -04:00
e05ac6bd85 Remove static multiboot information pointer 2016-03-25 01:37:26 -04:00