Age | Commit message (Collapse) | Author | |
---|---|---|---|
2008-08-22 | 2008-08-22 Neal H. Walfield <neal@gnu.org> | neal | |
* libhurd-cap: Remove. * libhurd-cap-server: Likewise. * physmem: Likewise. * task: Likewise. | |||
2005-01-12 | libc-parts/ | neal | |
2005-01-12 Neal H. Walfield <neal@gnu.org> * assert.h: Include prototype for printf. (assert) [!NDEBUG]: Rewrite to do something useful. libhurd-cap-server/ 2005-01-12 Neal H. Walfield <neal@gnu.org> * class-init.c (hurd_cap_class_init_untyped): Fix assert. * bucket-manage-mt.c (manage_mt_worker): Likewise. libpthread/ 2005-01-12 Neal H. Walfield <neal@gnu.org> * sysdeps/l4/pt-thread-alloc.c: Replace assert with a compile time warning. * sysdeps/l4/hurd/pt-sigstate.c (__pthread_sigstate): Don't return EINVAL. Pretend to work so the generic code is happy. | |||
2005-01-07 | libhurd-slab/ | neal | |
2005-01-06 Neal H. Walfield <neal@gnu.org> * slab.h (hurd_slab_allocate_buffer_t): New type. (hurd_slab_deallocate_buffer_t): Likewise. (struct hurd_slab_space): New fields allocate_buffer and deallocate_buffer. (HURD_SLAB_SPACE_INITIALIZER): Add new arguments ALLOC and DEALLOC and take them into account when creating the slab. (hurd_slab_create): New parameters ALLOCATE_BUFFER and DEALLOCATE_BUFFER. (hurd_slab_init): Likewise. * slab.c (allocate_buffer): New function. (deallocate_buffer): Likewise. (reap): When deallocating a buffer, use allocate_buffer. (grow): When allocating or deallocating a buffer, call allocate_buffer or deallocate_buffer as appropriate. (hurd_slab_init): Add new arguments ALLOCATE_BUFFER and DEALLOCATE_BUFFER and take them into account when setting up SPACE. (hurd_slab_create): Likewise. libhurd-cap/ 2005-01-07 Neal H. Walfield <neal@gnu.org> * cap.c (hurd_cap_init): Supply the allocate_buffer and deallocate_buffer arguments to hurd_slab_create to conform with the new semantics. libhurd-cap-server/ 2005-01-07 Neal H. Walfield <neal@gnu.org> * class-init.c (hurd_cap_class_init_untyped): Supply the allocate_buffer and deallocate_buffer arguments to hurd_slab_create to conform with the new semantics. * obj-entry-space.c (_hurd_cap_obj_entry_space): Likewise for HURD_SLAB_SPACE_INITIALIZER. * client-create.c (_hurd_cap_client_space): Likewise. task/ 2005-01-07 Neal H. Walfield <neal@gnu.org> * thread.c (threads): Supply the allocate_buffer and deallocate_buffer arguments to HURD_SLAB_SPACE_INITIALIZER to conform with the new semantics. | |||
2004-11-30 | libhurd-cap-server/ | neal | |
2004-11-30 Neal H. Walfield <neal@gnu.org> * cap-server.h: Improve comments. (hurd_cap_class_create_untyped): Tighten alignment restrictions: ALIGNMENT must be a power of 2. * class-init.c (hurd_cap_class_init_untyped): Calculate best alignment. * cap-server.h (hurd_cap_obj_get_size): Renamed to ... (hurd_cap_obj_user_offset): ... this. (hurd_cap_obj_to_user_untyped): Call hurd_cap_obj_user_offset, not hurd_cap_obj_get_size. (hurd_cap_obj_from_user_untyped): Likewise. * class-init.c (hurd_cap_class_init_untyped): Likewise. * class-create.c: Improve comments. * obj-copy-out.c: Likewise. | |||
2004-11-01 | libhurd-cap-server/ | marcus | |
2004-11-01 Marcus Brinkmann <marcus@gnu.org> * cap-server.h (hurd_cap_class_create): Rename to ... (hurd_cap_class_create_untyped): ... this. (hurd_cap_class_create): New macro. (hurd_cap_class_init): Rename to ... (hurd_cap_class_init_untyped): ... this. (hurd_cap_class_init): New macro. (hurd_cap_get_obj_size): New inline function. (hurd_cap_obj_to_user_untyped, hurd_cap_obj_from_user_untyped): New inline function. (hurd_cap_obj_to_user, hurd_cap_obj_from_user): New macro. * class-alloc.c (hurd_cap_class_alloc): New variable NEW_OBJ, use it as a temporary placeholder. * class-create.c (hurd_cap_class_create): Rename to ... (hurd_cap_class_create_untyped): ... this. Use hurd_cap_class_init_untyped. * class-init.c (hurd_cap_class_init): Rename to ... (hurd_cap_class_init_untyped): ... this. Add the size of struct hurd_cap_obj to SIZE. * client-create.c (_hurd_cap_client_alloc): New variable NEW_CLIENT, use it as a temporary placeholder. * obj-copy-out.c (_hurd_cap_obj_copy_out): New variable NEW_ENTRY, use it as a temporary placeholder. physmem/ 2004-11-01 Marcus Brinkmann <marcus@gnu.org> * container.c (struct container, container_t): Remove member OBJ. Move struct and typedef to ... * physmem.h (struct container, container_t): ... here. (container_alloc): Change type of last argument in prototype to a pointer to a container_t. * container.c (container_reinit, container_map): Use hurd_cap_obj_to_user instead cast. (container_class_init): Provide type instead size and alignment. (container_alloc): Add new variable OBJ and use hurd_cap_obj_to_user. Change type of last argument to a pointer to container_t. * physmem.c (create_bootstrap_caps): New variable CONTAINER. Use hurd_cap_obj_from_user to get at the object. task/ 2004-11-01 Marcus Brinkmann <marcus@gnu.org> * task.h (struct task): Remove member OBJ. (task_alloc): Change type of last argument to pointer to task_t. (task_id_get_task): Use hurd_cap_obj_from_user. * task.c (create_bootstrap_caps): Remove variable STARTUP_CAP. Add variable TASK. Use hurd_cap_obj_to_user. * task-class.c (task_reinit): Use hurd_cap_obj_to_user instead of cast. (task_class_init): Use type instead size and alignment. (task_alloc): Change type of last argument to pointer to task_t. Add new variable OBJ and use it as a temporary placeholder. deva/ 2004-11-01 Marcus Brinkmann <marcus@gnu.org> * deva-class.c (struct deva): Remove member obj (and add dummy member foo). (deva_reinit): Use hurd_cap_obj_to_user instead of cast. (deva_class_init): Replace size and alignment with type. (deva_alloc): New variable OBJ. Use it with hurd_cap_class_alloc. Use hurd_cap_obj_to_user to get at the deva object. | |||
2004-04-08 | 2004-04-08 Marcus Brinkmann <marcus@gnu.org> | marcus | |
* bucket-inject.c, obj-copy-out.c: New files. * Makefile.am (libhurd_cap_server_a_SOURCES): Add bucket-inject.c and obj-copy-out.c * bucket-create.c (hurd_cap_bucket_create): Initialize members is_managed, nr_caps, waiting_rpcs of BUCKET. Set R_BUCKET. * cap-server-intern.h (_hurd_cap_client_dealloc): Add new argument BUCKET to prototype. (struct hurd_cap_client): Remove declaration. (struct _hurd_cap_list_item): Add new member tid. Change type for member client to _hurd_cap_client_t. (_hurd_cap_list_item_add, _hurd_cap_list_item_remove, _hurd_cap_list_item_dequeued): New inline functions. (struct _hurd_cap_obj_entry): Rename member IDX to ID. (_hurd_cap_obj_copy_out): New prototype. (_hurd_cap_client_create): Remove argument R_IDX from prototype. (struct _hurd_cap_bucket): Add new members MANAGER, IS_MANAGED, IS_MANAGER_WAITING, NR_CAPS, WAITING_RPCS, and FREE_WORKER. (_hurd_cap_client_t): Type definition moved to ... * cap-server.h (_hurd_cap_client_t): Here. (struct _hurd_cap_client_t): New declaration. (struct hurd_cap_rpc_context): Define it. (hurd_cap_class_demux_t): Renamed to ... (hurd_cap_class_demuxer_t): ... this. (hurd_cap_class_create, hurd_cap_class_init): Use new type for demuxer argument in prototype. (hurd_cap_bucket_inject): New prototype. * cap-server.h: Include <hurd/types.h> * class-create (hurd_cap_class_create): Use new type for demuxer argument. Set R_CLASS. * class-init (hurd_cap_class_init): Use new type for demuxer argument. * client-release.c (_hurd_cap_client_dealloc): Take new argument BUCKET. New local variable NR_CAPS. Keep track of number of capabilities removed. Update BUCKET->nr_caps before return. (_hurd_cap_client_release): Pass new argument BUCKET to _hurd_cap_client_release. * client-create.c (_hurd_cap_client_create): Remove argument R_IDX. Consequently, do not set R_IDX anymore. Set R_CLIENT. Pass new argument BUCKET to _hurd_cap_client_dealloc. * bucket-inhibit.c (hurd_cap_bucket_end): Check BUCKET->nr_caps if FORCE flag is not set. Cancel the manager thread if needed. (_hurd_cap_bucket_cond_busy): Move to ... * cap-server-intern.h (_hurd_cap_bucket_cond_busy): ... here. Add attribute always-inline. (_hurd_cap_bucket_cond_check): New inline function. * client-inhibit.c (_hurd_cap_client_cond_busy): Move to ... * cap-server-intern.h (_hurd_cap_client_cond_busy): ... here. Add attribute always-inline. (_hurd_cap_client_cond_check): New inline function. * class-inhibit.c (_hurd_cap_class_cond_busy): Move to ... * cap-server-intern.h (_hurd_cap_class_cond_busy): ... here. Add attribute always-inline. (_hurd_cap_class_cond_check): New inline function. * obj-inhibit.c (_hurd_cap_obj_cond_busy): Move to ... * cap-server-intern.h (_hurd_cap_obj_cond_busy): ... here. Add attribute always-inline. (_hurd_cap_obj_cond_check): New inline function. | |||
2004-04-01 | 2004-03-26 Marcus Brinkmann <marcus@gnu.org> | marcus | |
* bucket-add.c, bucket-create.c, bucket-free.c, bucket-inhibit.c, bucket-manage-mt.c, bucket-remove.c, cap-server-intern.h, class-free.c, class-init.c, obj-dealloc.c, obj-drop.c, obj-entry-space.c: New files. * Makefile.am (includehurd_HEADERS): Move table.h and task-death.h to ... (libhurd_cap_server_a_SOURCES): ... here. Add cap-server-intern.h, class-init.c, class-free.c, obj-dealloc.c, obj-drop.c, obj-entry-space.c, bucket-create.c, bucket-free.c, bucket-add.c, bucket-remove.c, bucket-inhibit.c, bucket-manage-mt.c. Remove class-dealloc.c. * headers.m4: Remove table.h and task-death.h. * cap-server.h: Include <stdbool.h>, do not include <assert.h>, <limits.h>, <hurd/types.h>, <hurd/slab.h>, <hurd/table.h>, <hurd/ihash.h> and <hurd/task-death.h>. (hurd_cond_wait, struct _hurd_cap_list_item, _hurd_cap_list_item_t, _hurd_cap_list_item_add, _hurd_cap_list_item_remove, struct _hurd_cap_entry, _hurd_cap_entry_t, struct hurd_cap_client, hurd_cap_client_t, struct _hurd_cap_client_entry, _hurd_cap_client_entry_t, _hurd_cap_class_dealloc, _hurd_cap_client_create, hurd_cap_client_lookup, _hurd_cap_client_dealloc, hurd_cap_client_inhibit, hurd_cap_client_resume, _hurd_cap_client_end): Removed. (hurd_cap_rpc_context): New declaration. (hurd_cap_class_demux_t): New dummy type (for now). (struct hurd_cap_class): Remove members OBJ_SIZE, CLIENT_SLAB, CLIENT_COND, CLIENT_COND_LOCK, CLIENTS, CLIENTS_REVERSE, CLIENT_THREADS and CLIENT_DEATH_NOTIFY. Change type of OBJ_SLAB to struct hurd_slab_space and rename it to OBJ_SPACE. Add member DEMUXER. Change type of member STATE to _hurd_cap_state_t. (struct hurd_cap_obj): Add member CAP_CLASS. Change type of member STATE to _hurd_cap_state_t. (hurd_cap_class_create): Add arguments alignment and demuxer to prototype. (hurd_cap_class_init): Likewise. (hurd_cap_class_free): New prototype. (_hurd_cap_class_destroy): Rename to ... (hurd_cap_class_destroy): ... this. (hurd_cap_obj_lock, hurd_cap_obj_unlock, hurd_cap_obj_ref, hurd_cap_obj_rele, hurd_cap_obj_drop): Remove CAP_CLASS argument. (hurd_cap_obj_drop): Only declare prototype here. (struct _hurd_cap_bucket): New forward declaration. (hurd_cap_bucket_t): New typedef. (hurd_cap_bucket_create, hurd_cap_bucket_free, hurd_cap_bucket_add, hurd_cap_bucket_remove, hurd_cap_bucket_manage_mt, hurd_cap_bucket_inhibit, hurd_cap_bucket_resume, hurd_cap_bucket_end): New prototypes. * class-alloc.c, class-create.c, class-destroy.c, class-inhibit.c, client-create.c, client-inhibit.c, client-release.c, obj-inhibit.c: Change the callers to take into account the above changes. |