Finish memory bootstrap sequence.

Now we're setting up all our own page tables, and handing off to
page_manager's init function. (Which is still NYI.)
This commit is contained in:
Justin C. Miller
2018-04-21 19:32:39 -07:00
parent 57abb03deb
commit 5dedd2e0e0
4 changed files with 128 additions and 20 deletions

View File

@@ -4,14 +4,6 @@
page_manager g_page_manager;
page_manager::page_manager() :
m_free(nullptr),
m_used(nullptr),
m_pool(nullptr)
{
kassert(this == &g_page_manager, "Attempt to create another page_manager.");
}
page_block *
page_block::list_consolidate()
@@ -68,3 +60,24 @@ page_block::list_dump(const char *name)
cons->put_dec(count);
cons->puts("\n");
}
page_manager::page_manager() :
m_free(nullptr),
m_used(nullptr),
m_block_cache(nullptr),
m_page_cache(nullptr)
{
kassert(this == &g_page_manager, "Attempt to create another page_manager.");
}
void
page_manager::init(
page_block *free,
page_block *used,
page_block *block_cache,
uint64_t scratch_start,
uint64_t scratch_length,
uint64_t scratch_cur)
{
}