X-Git-Url: http://git.buserror.net/cgi-bin/gitweb.cgi?p=polintos%2Fscott%2Fpriv.git;a=blobdiff_plain;f=kernel%2Finclude%2Fkern%2Frmap.h;fp=kernel%2Finclude%2Fkern%2Frmap.h;h=6124fdf00e31fb56a3e6b7e8b99f23ee1fb76be0;hp=86dacd6febf352d550ef8209380c704aab31bfde;hb=f95829cb521c076eebee345a1007e9fc912a0765;hpb=6ef00363db1c75274dfcc188c778cb437d896034 diff --git a/kernel/include/kern/rmap.h b/kernel/include/kern/rmap.h index 86dacd6..6124fdf 100644 --- a/kernel/include/kern/rmap.h +++ b/kernel/include/kern/rmap.h @@ -3,6 +3,7 @@ #include #include +#include namespace Mem { struct RMapNode { @@ -32,7 +33,12 @@ namespace Mem { class Page; class RMapTable { - Util::RadixTree tree; + Util::PageRadixTree tree; + + RMapNode *lookup(u64 vaddr, bool add = false) + { + return tree.lookup(vaddr >> Arch::page_shift, add); + } public: // rmap_lock must be held.