--- Gnu-Mach/ipc/ipc_space.h 2020/09/02 04:42:38 1.1.1.2 +++ Gnu-Mach/ipc/ipc_space.h 2020/09/02 04:45:09 1.1.1.3 @@ -39,14 +39,14 @@ #ifndef _IPC_IPC_SPACE_H_ #define _IPC_IPC_SPACE_H_ -#include -#include - #include #include +#include #include #include +#include #include +#include /* * Every task has a space of IPC capabilities. @@ -79,24 +79,17 @@ struct ipc_space { ipc_entry_num_t is_tree_total; /* number of entries in the tree */ ipc_entry_num_t is_tree_small; /* # of small entries in the tree */ ipc_entry_num_t is_tree_hash; /* # of hashed entries in the tree */ - -#if MACH_IPC_COMPAT - struct ipc_port *is_notify; /* notification port */ -#endif /* MACH_IPC_COMPAT */ }; #define IS_NULL ((ipc_space_t) 0) -extern zone_t ipc_space_zone; +extern struct kmem_cache ipc_space_cache; -#define is_alloc() ((ipc_space_t) zalloc(ipc_space_zone)) -#define is_free(is) zfree(ipc_space_zone, (vm_offset_t) (is)) +#define is_alloc() ((ipc_space_t) kmem_cache_alloc(&ipc_space_cache)) +#define is_free(is) kmem_cache_free(&ipc_space_cache, (vm_offset_t) (is)) extern struct ipc_space *ipc_space_kernel; extern struct ipc_space *ipc_space_reply; -#if NORMA_IPC -extern struct ipc_space *ipc_space_remote; -#endif /* NORMA_IPC */ #define is_ref_lock_init(is) simple_lock_init(&(is)->is_ref_lock_data) @@ -138,27 +131,8 @@ extern void ipc_space_release(struct ipc #define is_reference(is) ipc_space_reference(is) #define is_release(is) ipc_space_release(is) -kern_return_t ipc_space_create(/* ipc_table_size_t, ipc_space_t * */); +kern_return_t ipc_space_create(ipc_table_size_t, ipc_space_t *); kern_return_t ipc_space_create_special(struct ipc_space **); void ipc_space_destroy(struct ipc_space *); -#if MACH_IPC_COMPAT - -/* - * Routine: ipc_space_make_notify - * Purpose: - * Given a space, return a send right for a notification. - * May return IP_NULL/IP_DEAD. - * Conditions: - * The space is locked (read or write) and active. - * - * ipc_port_t - * ipc_space_make_notify(space) - * ipc_space_t space; - */ - -#define ipc_space_make_notify(space) \ - ipc_port_copy_send(space->is_notify) - -#endif /* MACH_IPC_COMPAT */ #endif /* _IPC_IPC_SPACE_H_ */