summaryrefslogtreecommitdiff
path: root/libhurd-mm/storage.c
diff options
context:
space:
mode:
authorneal <neal>2008-06-20 09:09:43 +0000
committerneal <neal>2008-06-20 09:09:43 +0000
commit7a5e7ecdc53cff1f4b5a8dd45c1cd71b10c9bb18 (patch)
treeafb360709d647c8fcd3ab4027a163387d0cae4fe /libhurd-mm/storage.c
parent9751e8ad447f7080c02178a4aa33d767ccb789cb (diff)
libhurd-mm/
2008-06-20 Neal H. Walfield <neal@gnu.org> * storage.c (storage_alloc): Don't set SLOT's shadow object to ADDR if it is a page, leave it as NULL. (shadow_setup): Don't set the shadow page's shadow capability to SHADOW. ruth/ 2008-06-20 Neal H. Walfield <neal@gnu.org> * ruth.c (visit): When encountering a folio, return -1 immediately.
Diffstat (limited to 'libhurd-mm/storage.c')
-rw-r--r--libhurd-mm/storage.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/libhurd-mm/storage.c b/libhurd-mm/storage.c
index 8a20977..0aeb46e 100644
--- a/libhurd-mm/storage.c
+++ b/libhurd-mm/storage.c
@@ -297,6 +297,7 @@ shadow_setup (struct cap *cap, struct storage_desc *desc)
desc->shadow = shadow;
cap->type = cap_folio;
+ CAP_SET_SUBPAGE (cap, 0, 1);
cap_set_shadow (cap, shadow);
if (idx != -1)
@@ -305,7 +306,6 @@ shadow_setup (struct cap *cap, struct storage_desc *desc)
CAP_PROPERTIES_SET (&shadow->caps[idx],
CAP_PROPERTIES (OBJECT_POLICY_DEFAULT,
CAP_ADDR_TRANS_VOID));
- cap_set_shadow (&shadow->caps[idx], shadow);
}
}
@@ -644,10 +644,6 @@ storage_alloc (addr_t activity,
({
slot->type = type;
cap_set_shadow (slot, NULL);
- if (type == cap_page || type == cap_rpage)
- cap_set_shadow (slot,
- ADDR_TO_PTR (addr_extend (addr,
- 0, PAGESIZE_LOG2)));
CAP_POLICY_SET (slot, policy);
}));
if (! ret)