summaryrefslogtreecommitdiff
path: root/viengoos/as.c
diff options
context:
space:
mode:
authorneal <neal>2008-01-24 20:37:41 +0000
committerneal <neal>2008-01-24 20:37:41 +0000
commit1274cc5549afe8d7f3114f38fc215240f9d5d7a2 (patch)
treedd0bee46f17396b0a007f1ad22e245b057e741cf /viengoos/as.c
parent4858fa9d9e060da09b1aabdabc653e4e02122df2 (diff)
hurd/
2008-01-24 Neal H. Walfield <neal@gnu.org> * cap.h (cap_copy): Rename ADDRESS_SPACE argument to TARGET_ADDRESS_SPACE. Take additional argument SOURCE_ADDRESS_SPACE. Update users. (cap_copy_x): Likewise. (cap_copy): Likewise. (object_slot_copy_out): Rename ADDRESS_SPACE argument to OBJECT_ADDRESS_SPACE. Take additional argument TARGET_ADDRESS_SPACE. Update users. (object_slot_copy_out): Rename ADDRESS_SPACE argument to OBJECT_ADDRESS_SPACE. Take additional argument SOURCE_ADDRESS_SPACE. Update users. libhurd-mm/ 2008-01-24 Neal H. Walfield <neal@gnu.org> * as.h (as_slot_ensure_full): New declaration. (as_insert): Take additional parameters SOURCE_AS and TARGET_AS. * as.c (as_slot_ensure_full): Remove declaration. (as_slot_ensure): Update use of as_slot_ensure full to be consistent with the new API. (as_alloc_slow): Update use of rm_cap_copy to be consistent with new API. viengoos/ 2008-01-24 Neal H. Walfield <neal@gnu.org> * as.h (as_insert): Rename argument AS_ROOT_ADDR to TARGET_AS. Take additional argument SOURCE_AS. Update users. * as.c (as_build_internal): Update use of cap_copy_x to be consistent with new API. (as_insert): Take additional argument ENTRY_AS. Update use of cap_copy to be consistent with new API. * cap.h (cap_set): Update use of cap_copy to be consistent with new API. * thread.c (thread_exregs): Update use of cap_copy and cap_copy_x to be consistent with new API. * as.h (as_slot_ensure_full): New declaration. ruth/ 2008-01-24 Neal H. Walfield <neal@gnu.org> * ruth.c (main): Update use of rm_cap_read to be consistent with new API.
Diffstat (limited to 'viengoos/as.c')
-rw-r--r--viengoos/as.c21
1 files changed, 11 insertions, 10 deletions
diff --git a/viengoos/as.c b/viengoos/as.c
index a90da59..8f5d3b0 100644
--- a/viengoos/as.c
+++ b/viengoos/as.c
@@ -383,9 +383,10 @@ as_build_internal (activity_t activity,
CAP_ADDR_TRANS_SET_GUARD (&addr_trans,
extract_bits64 (root_guard, 0, d), d);
- bool r = cap_copy_x (activity, as_root_addr,
- &cappage->caps[pivot_idx], pivot_addr,
- *root, root_addr,
+ bool r = cap_copy_x (activity,
+ as_root_addr, &cappage->caps[pivot_idx],
+ pivot_addr,
+ as_root_addr, *root, root_addr,
CAP_COPY_COPY_ADDR_TRANS_GUARD,
CAP_PROPERTIES (OBJECT_POLICY_DEFAULT,
addr_trans));
@@ -403,8 +404,8 @@ as_build_internal (activity_t activity,
- subpage_bits));
assert (r);
- r = cap_copy_x (activity, as_root_addr,
- root, root_addr, rt.cap, rt.storage,
+ r = cap_copy_x (activity, as_root_addr, root, root_addr,
+ as_root_addr, rt.cap, rt.storage,
CAP_COPY_COPY_ADDR_TRANS_SUBPAGE
| CAP_COPY_COPY_ADDR_TRANS_GUARD,
CAP_PROPERTIES (OBJECT_POLICY_DEFAULT, addr_trans));
@@ -443,7 +444,7 @@ as_build_internal (activity_t activity,
0, 1);
assert (r);
r = cap_copy_x (activity, as_root_addr, root, addr_chop (a, gbits),
- *root, addr_chop (a, gbits),
+ as_root_addr, *root, addr_chop (a, gbits),
CAP_COPY_COPY_ADDR_TRANS_GUARD,
CAP_PROPERTIES (OBJECT_POLICY_DEFAULT, addr_trans));
assert (r);
@@ -470,9 +471,9 @@ as_slot_ensure_full (activity_t activity,
}
void
-as_insert (activity_t activity, addr_t as_root_addr,
- struct cap *root, addr_t addr,
- struct cap entry, addr_t entry_addr,
+as_insert (activity_t activity,
+ addr_t as_root_addr, struct cap *root, addr_t addr,
+ addr_t entry_as, struct cap entry, addr_t entry_addr,
struct as_insert_rt (*allocate_object) (enum cap_type type,
addr_t addr))
{
@@ -484,7 +485,7 @@ as_insert (activity_t activity, addr_t as_root_addr,
root, addr, allocate_object,
false);
assert (slot);
- cap_copy (activity, as_root_addr, slot, addr, entry, entry_addr);
+ cap_copy (activity, as_root_addr, slot, addr, entry_as, entry, entry_addr);
#ifndef RM_INTERN
pthread_rwlock_unlock (&as_lock);