aboutsummaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'kernel')
-rw-r--r--kernel/memory/frame.dats11
1 files changed, 5 insertions, 6 deletions
diff --git a/kernel/memory/frame.dats b/kernel/memory/frame.dats
index fad0420..5a950ad 100644
--- a/kernel/memory/frame.dats
+++ b/kernel/memory/frame.dats
@@ -10,7 +10,6 @@ staload UN = "prelude/SATS/unsafe.sats"
assume frame_allocator = frame_allocator_t
-
implement containing_address(address): frame_t =
@{
counter = $UN.cast{size_t}(address) / i2sz(PAGE_SIZE)
@@ -50,8 +49,8 @@ local
var allocator_static : frame_allocator_t?
prval () = opt_none allocator_static
-var allocator = empty<frame_allocator_t>(allocator_static)
-val allocator_ref = ref_make_viewptr{enablable frame_allocator_t} (view@allocator | addr@allocator)
+var allocator = uninitialized<frame_allocator_t>(allocator_static)
+val allocator_ref = ref_make_viewptr{initializable frame_allocator_t} (view@allocator | addr@allocator)
in
@@ -66,11 +65,11 @@ in
} : frame_allocator_t
val (vbox pf | p) = ref_get_viewptr(allocator_ref)
in
- if not p->enabled then let
+ if not p->initialized then let
prval () = opt_unnone p->obj
in
p->obj := allocator;
- p->enabled := true;
+ p->initialized := true;
(* choose_next_area(b.0 | b.2, !p); *)
let prval () = opt_some p->obj in end;
end
@@ -79,7 +78,7 @@ in
implement allocate_frame(bf | b) : frame_t = let
val (vbox pf | p) = ref_get_viewptr(allocator_ref)
in
- if p->enabled then let
+ if p->initialized then let
(* var allocator = p->obj *)
prval () = opt_unsome p->obj
in