add initialization code if no pages have been created yet. Make three pages: 1 for the page list, 1 for the free list, and one for the first data page. The first page list page has a pointer to the first freelist page. The page list page has an initial, functional node. The free list page has an initial, functional node.
Add cool macros to access the first nodes of the free and page lists
completely revamp method of managing pageListPage and freeListPage. Redo initialization. All code needed for initialization is complete (1st attempt, compiles but might not run propperly)
Fix bug that address size varries by machine (4 or 8 bytes). Initialization code now runs smooth on mac. Doesn't run on VM because of math.h linking error
implement getNewPageListPage() and getNewFreeListPage()
Implement entire kma_malloc except for keeping track of bitmaps. Not testing for compiling. Not tested for running. Remove math.h linking error by add -lm to line 60 of run_testcase.sh
kma_malloc implemented minus bitmap tracking. Compiles and runs
keep track of bit maps. Compiles and runs. Next I need to free unused data pages and unused page list pages
Full buddy system written with malloc and free. Not tested for compile or run
compiles but doesn't run - segmentation fault on test 1
Fix seg fault: round up input size of kma_free to nearest power of 2
pass first test suite but segfault in the second
Fix infitite loop in removeFreePageList
Everything works now (except for bitmaps, but I'm not really using those for anything). Fixed a bug that stemmed from assuming that the final nodes in page node list and free node list would be in their respective initial pages. Turns out this isn't always the case. Code is filled with debugging stuff. Will clean up and commit again.
cleaned up debugging code. Still works smoothly
make some minor enhancements. Allow nodes to be filled to the very limit of the pages their in. Assume that there is only 1 free list node of size 8192 when deleting data pages.
alter kma.c to record average malloc and free times
merging buddy into master
more endif in kma_rm so make command would work again
add graphs and data for rm and bud