1/*- 2 * Copyright (c) 1991, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley by 6 * The Mach Operating System project at Carnegie-Mellon University. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 43 unchanged lines hidden (view full) --- 52 * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU 53 * School of Computer Science 54 * Carnegie Mellon University 55 * Pittsburgh PA 15213-3890 56 * 57 * any improvements or extensions that they make and grant Carnegie the 58 * rights to redistribute these changes. 59 * |
60 * $FreeBSD: head/sys/vm/vm_object.h 247360 2013-02-26 23:35:27Z attilio $ |
61 */ 62 63/* 64 * Virtual memory object module definitions. 65 */ 66 67#ifndef _VM_OBJECT_ 68#define _VM_OBJECT_ --- 132 unchanged lines hidden (view full) --- 201extern struct vm_object kmem_object_store; 202 203#define kernel_object (&kernel_object_store) 204#define kmem_object (&kmem_object_store) 205 206#define VM_OBJECT_LOCK(object) mtx_lock(&(object)->mtx) 207#define VM_OBJECT_LOCK_ASSERT(object, type) \ 208 mtx_assert(&(object)->mtx, (type)) |
209#define VM_OBJECT_LOCKED(object) mtx_owned(&(object)->mtx) 210#define VM_OBJECT_SLEEP(object, wchan, pri, wmesg, timo) \ 211 msleep((wchan), &(object)->mtx, (pri), \ 212 (wmesg), (timo)) 213#define VM_OBJECT_TRYLOCK(object) mtx_trylock(&(object)->mtx) 214#define VM_OBJECT_UNLOCK(object) mtx_unlock(&(object)->mtx) 215 216/* --- 9 unchanged lines hidden (view full) --- 226void vm_object_clear_flag(vm_object_t object, u_short bits); 227void vm_object_pip_add(vm_object_t object, short i); 228void vm_object_pip_subtract(vm_object_t object, short i); 229void vm_object_pip_wakeup(vm_object_t object); 230void vm_object_pip_wakeupn(vm_object_t object, short i); 231void vm_object_pip_wait(vm_object_t object, char *waitid); 232 233vm_object_t vm_object_allocate (objtype_t, vm_pindex_t); |
234boolean_t vm_object_coalesce(vm_object_t, vm_ooffset_t, vm_size_t, vm_size_t, 235 boolean_t); 236void vm_object_collapse (vm_object_t); 237void vm_object_deallocate (vm_object_t); 238void vm_object_destroy (vm_object_t); 239void vm_object_terminate (vm_object_t); 240void vm_object_set_writeable_dirty (vm_object_t); 241void vm_object_init (void); --- 19 unchanged lines hidden --- |