#include namespace Memory { void PageTable::Update() { #if defined(a86) asmv("mov %0, %%cr3" ::"r"(this)); #elif defined(aa64) asmv("msr ttbr0_el1, %0" ::"r"(this)); #endif } PageTable PageTable::Fork() { PageTable NewTable; memcpy(&NewTable, this, sizeof(PageTable)); return NewTable; } }