Deleted Added
full compact
vm_object.h (5841) vm_object.h (6129)
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

--- 47 unchanged lines hidden (view full) ---

56 * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
57 * School of Computer Science
58 * Carnegie Mellon University
59 * Pittsburgh PA 15213-3890
60 *
61 * any improvements or extensions that they make and grant Carnegie the
62 * rights to redistribute these changes.
63 *
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

--- 47 unchanged lines hidden (view full) ---

56 * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
57 * School of Computer Science
58 * Carnegie Mellon University
59 * Pittsburgh PA 15213-3890
60 *
61 * any improvements or extensions that they make and grant Carnegie the
62 * rights to redistribute these changes.
63 *
64 * $Id: vm_object.h,v 1.4 1995/01/09 16:05:50 davidg Exp $
64 * $Id: vm_object.h,v 1.5 1995/01/24 10:13:24 davidg Exp $
65 */
66
67/*
68 * Virtual memory object module definitions.
69 */
70
71#ifndef _VM_OBJECT_
72#define _VM_OBJECT_

--- 4 unchanged lines hidden (view full) ---

77/*
78 * Types defined:
79 *
80 * vm_object_t Virtual memory object.
81 */
82
83struct vm_object {
84 struct pglist memq; /* Resident memory */
65 */
66
67/*
68 * Virtual memory object module definitions.
69 */
70
71#ifndef _VM_OBJECT_
72#define _VM_OBJECT_

--- 4 unchanged lines hidden (view full) ---

77/*
78 * Types defined:
79 *
80 * vm_object_t Virtual memory object.
81 */
82
83struct vm_object {
84 struct pglist memq; /* Resident memory */
85 TAILQ_ENTRY(vm_object) object_list; /* list of all objects */
86 u_short flags; /* see below */
87 u_short paging_in_progress; /* Paging (in or out) so don't collapse or destroy */
85 TAILQ_HEAD(rslist, vm_object) reverse_shadow_head; /* objects that this is a shadow for */
86 TAILQ_ENTRY(vm_object) object_list; /* list of all objects */
87 TAILQ_ENTRY(vm_object) reverse_shadow_list; /* chain of objects that are shadowed */
88 TAILQ_ENTRY(vm_object) cached_list; /* for persistence */
89 vm_size_t size; /* Object size */
88 int ref_count; /* How many refs?? */
89 struct {
90 int recursion; /* object locking */
91 struct proc *proc; /* process owned */
92 } lock;
90 int ref_count; /* How many refs?? */
91 struct {
92 int recursion; /* object locking */
93 struct proc *proc; /* process owned */
94 } lock;
93 vm_size_t size; /* Object size */
94 int resident_page_count;
95 /* number of resident pages */
96 struct vm_object *copy; /* Object that holds copies of my changed pages */
95 u_short flags; /* see below */
96 u_short paging_in_progress; /* Paging (in or out) so don't collapse or destroy */
97 int resident_page_count; /* number of resident pages */
97 vm_pager_t pager; /* Where to get data */
98 vm_offset_t paging_offset; /* Offset into paging space */
99 struct vm_object *shadow; /* My shadow */
100 vm_offset_t shadow_offset; /* Offset in shadow */
98 vm_pager_t pager; /* Where to get data */
99 vm_offset_t paging_offset; /* Offset into paging space */
100 struct vm_object *shadow; /* My shadow */
101 vm_offset_t shadow_offset; /* Offset in shadow */
102 struct vm_object *copy; /* Object that holds copies of my changed pages */
101 vm_offset_t last_read; /* last read in object -- detect seq behavior */
103 vm_offset_t last_read; /* last read in object -- detect seq behavior */
102 TAILQ_ENTRY(vm_object) cached_list; /* for persistence */
103 TAILQ_ENTRY(vm_object) reverse_shadow_list; /* chain of objects that are shadowed */
104 TAILQ_HEAD(rslist, vm_object) reverse_shadow_head; /* objects that this is a shadow for */
105};
106
107/*
108 * Flags
109 */
110#define OBJ_CANPERSIST 0x0001 /* allow to persist */
111#define OBJ_INTERNAL 0x0002 /* internally created object */
112#define OBJ_ACTIVE 0x0004 /* used to mark active objects */

--- 100 unchanged lines hidden ---
104};
105
106/*
107 * Flags
108 */
109#define OBJ_CANPERSIST 0x0001 /* allow to persist */
110#define OBJ_INTERNAL 0x0002 /* internally created object */
111#define OBJ_ACTIVE 0x0004 /* used to mark active objects */

--- 100 unchanged lines hidden ---