summaryrefslogtreecommitdiff
path: root/viengoos/object.h
diff options
context:
space:
mode:
authorneal <neal>2007-12-22 17:27:45 +0000
committerneal <neal>2007-12-22 17:27:45 +0000
commit130ffe56c693fd20c162135ae4fe9dc6421207ad (patch)
tree24af511702ae5f0cc6b34bc76060cc7a1d9657b5 /viengoos/object.h
parent40e1bb55b60267bbb56448adf061926cbede6a40 (diff)
hurd/
2007-12-22 Neal H. Walfield <neal@gnu.org> * folio.h (FOLIO_PRIORITY_BITS): Define. (FOLIO_PRIORITY_MIN): Likewise. (FOLIO_PRIORITY_LRU): Likewise. (FOLIO_PRIORITY_MAX): Likewise. (FOLIO_GROUP_BITS): Likewise. (FOLIO_GROUP_NONE): Likewise. (FOLIO_GROUP_MIN): Likewise. (FOLIO_GROUP_MAX): Likewise. (struct folio_policy): New structure. (FOLIO_POLICY_INIT): Define. (FOLIO_POLICY_VOID): Likewise. (FOLIO_POLICY_DEFAULT): Likewise. (struct folio): Add field policy. (RM_folio_policy): Define. (folio_alloc): Take additional parameter policy. (FOLIO_POLICY_DELIVER): Define. (FOLIO_POLICY_DISCARDABLE_SET): Likewise. (FOLIO_POLICY_GROUP_SET): Likewise. (FOLIO_POLICY_PRIORITY_SET): Likewise. (FOLIO_POLICY_SET): Likewise. (folio_policy): New method. viengoos/ 2007-12-22 Neal H. Walfield <neal@gnu.org> * object.h (folio_alloc): Take additional parameter policy. Update users. (folio_policy): New declaration. * object.c: Include <hurd/folio.h>. (folio_alloc): Take additional parameter policy. Use it. (folio_policy): New function. * server.c (server_loop): Update folio_alloc implementation to handle additional parameter policy. Implement the folio_policy method. libhurd-mm/ 2007-12-22 Neal H. Walfield <neal@gnu.org> * storage.c (storage_alloc_): Update rm_folio_alloc use to reflect API changes. ruth/ 2007-12-22 Neal H. Walfield <neal@gnu.org> * ruth.c (main): Update rm_folio_alloc use to reflect API changes.
Diffstat (limited to 'viengoos/object.h')
-rw-r--r--viengoos/object.h15
1 files changed, 12 insertions, 3 deletions
diff --git a/viengoos/object.h b/viengoos/object.h
index fb8c93c..ed3a7ea 100644
--- a/viengoos/object.h
+++ b/viengoos/object.h
@@ -388,9 +388,11 @@ object_claim_ (struct activity *activity, struct object *object)
object_claim_ (a, o); \
})
-/* Allocate a folio to activity ACTIVITY. Returns NULL if not
- possible. Otherwise a pointer to the in-memory folio. */
-extern struct folio *folio_alloc (struct activity *activity);
+/* Allocate a folio to activity ACTIVITY. POLICY is the new folio's
+ initial storage policy. Returns NULL if not possible. Otherwise a
+ pointer to the in-memory folio. */
+extern struct folio *folio_alloc (struct activity *activity,
+ struct folio_policy policy);
/* Assign the storage designated by FOLIO to the activity ACTIVITY. */
extern void folio_parent (struct activity *activity, struct folio *folio);
@@ -431,4 +433,11 @@ object_free (struct activity *activity, struct object *object)
folio_object_free (activity, folio, page);
}
+/* Get and set folio FOLIO's storage policy according to flags FLAGS,
+ IN and OUT. */
+extern void folio_policy (struct activity *activity,
+ struct folio *folio,
+ uintptr_t flags, struct folio_policy in,
+ struct folio_policy *out);
+
#endif