staload "kernel/memory/frame.sats" staload "lib/SATS/valid.sats" staload "lib/DATS/valid.dats" abst@ype entry_type = uint64 typedef entry_t = entry_type datatype entry_flag = | PRESENT | WRITABLE | USER_ACCESSIBLE | WRITE_THROUGH | NO_CACHE | ACCESSED | DIRTY | HUGE_PAGE | GLOBAL | NO_EXECUTE fn is_unused(entry_t) : bool fn set_unused(&entry_t) : void fn contains_flag(entry_t,entry_flag):<> bool fn pointed_frame(entry_t) : Valid frame_t fn add_flag(entry_t,entry_flag) : entry_t fn create_entry{s:nat}(frame_t,&(@[entry_flag][s]),size_t s) : entry_t