diff options
author | dyson <dyson@FreeBSD.org> | 1995-12-11 04:58:34 +0000 |
---|---|---|
committer | dyson <dyson@FreeBSD.org> | 1995-12-11 04:58:34 +0000 |
commit | 601ed1a4c089930a40f8f1dedb927f3b5b9f2d90 (patch) | |
tree | 2b7bb6b5f65218fdc977df2e1db5ccaf89d154c6 /sys/vm/vm_object.h | |
parent | 0e4700269e1c805f7d7e0caae28fbaebf096ac31 (diff) | |
download | FreeBSD-src-601ed1a4c089930a40f8f1dedb927f3b5b9f2d90.zip FreeBSD-src-601ed1a4c089930a40f8f1dedb927f3b5b9f2d90.tar.gz |
Changes to support 1Tb filesizes. Pages are now named by an
(object,index) pair instead of (object,offset) pair.
Diffstat (limited to 'sys/vm/vm_object.h')
-rw-r--r-- | sys/vm/vm_object.h | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/sys/vm/vm_object.h b/sys/vm/vm_object.h index 287471b..125649a 100644 --- a/sys/vm/vm_object.h +++ b/sys/vm/vm_object.h @@ -61,7 +61,7 @@ * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. * - * $Id: vm_object.h,v 1.23 1995/11/05 20:46:01 dyson Exp $ + * $Id: vm_object.h,v 1.24 1995/12/07 12:48:22 davidg Exp $ */ /* @@ -96,15 +96,15 @@ struct vm_object { u_short flags; /* see below */ u_short paging_in_progress; /* Paging (in or out) so don't collapse or destroy */ int resident_page_count; /* number of resident pages */ - vm_offset_t paging_offset; /* Offset into paging space */ + vm_ooffset_t paging_offset; /* Offset into paging space */ struct vm_object *backing_object; /* object that I'm a shadow of */ - vm_offset_t backing_object_offset;/* Offset in backing object */ + vm_ooffset_t backing_object_offset;/* Offset in backing object */ vm_offset_t last_read; /* last read in object -- detect seq behavior */ TAILQ_ENTRY(vm_object) pager_object_list; /* list of all objects of this pager type */ void *handle; union { struct { - vm_size_t vnp_size; /* Current size of file */ + off_t vnp_size; /* Current size of file */ } vnp; struct { TAILQ_HEAD(, vm_page) devp_pglist; /* list of pages allocated */ @@ -129,6 +129,8 @@ struct vm_object { #define OBJ_MIGHTBEDIRTY 0x0100 /* object might be dirty */ #define OBJ_CLEANING 0x0200 +#define IDX_TO_OFF(idx) (((vm_ooffset_t)(idx)) << PAGE_SHIFT) +#define OFF_TO_IDX(off) ((vm_pindex_t)(((vm_ooffset_t)(off)) >> PAGE_SHIFT)) #ifdef KERNEL extern int vm_object_cache_max; @@ -162,18 +164,18 @@ vm_object_pip_wakeup(vm_object_t object) vm_object_t vm_object_allocate __P((objtype_t, vm_size_t)); void vm_object_cache_clear __P((void)); void vm_object_cache_trim __P((void)); -boolean_t vm_object_coalesce __P((vm_object_t, vm_object_t, vm_offset_t, vm_offset_t, vm_offset_t, vm_size_t)); +boolean_t vm_object_coalesce __P((vm_object_t, vm_pindex_t, vm_size_t, vm_size_t)); void vm_object_collapse __P((vm_object_t)); -void vm_object_copy __P((vm_object_t, vm_offset_t, vm_size_t, vm_object_t *, vm_offset_t *, boolean_t *)); +void vm_object_copy __P((vm_object_t, vm_pindex_t, vm_object_t *, vm_pindex_t *, boolean_t *)); void vm_object_deactivate_pages __P((vm_object_t)); void vm_object_deallocate __P((vm_object_t)); -void vm_object_init __P((vm_size_t)); -void vm_object_page_clean __P((vm_object_t, vm_offset_t, vm_offset_t, boolean_t, boolean_t)); -void vm_object_page_remove __P((vm_object_t, vm_offset_t, vm_offset_t, boolean_t)); -void vm_object_pmap_copy __P((vm_object_t, vm_offset_t, vm_offset_t)); -void vm_object_pmap_remove __P((vm_object_t, vm_offset_t, vm_offset_t)); +void vm_object_init __P((void)); +void vm_object_page_clean __P((vm_object_t, vm_pindex_t, vm_pindex_t, boolean_t, boolean_t)); +void vm_object_page_remove __P((vm_object_t, vm_pindex_t, vm_pindex_t, boolean_t)); +void vm_object_pmap_copy __P((vm_object_t, vm_pindex_t, vm_pindex_t)); +void vm_object_pmap_remove __P((vm_object_t, vm_pindex_t, vm_pindex_t)); void vm_object_reference __P((vm_object_t)); -void vm_object_shadow __P((vm_object_t *, vm_offset_t *, vm_size_t)); +void vm_object_shadow __P((vm_object_t *, vm_ooffset_t *, vm_size_t)); void vm_object_terminate __P((vm_object_t)); #endif /* KERNEL */ |