]> git.saurik.com Git - apple/xnu.git/blobdiff - osfmk/vm/vm_pageout.h
xnu-1228.5.18.tar.gz
[apple/xnu.git] / osfmk / vm / vm_pageout.h
index 098dc398eb8363ca93b708e4bd454ff084236750..c7ab4ca8fb8061378cb94293d417ce4a12db4b06 100644 (file)
@@ -94,25 +94,18 @@ extern ppnum_t upl_get_highest_page(
 
 extern unsigned int    vm_pageout_scan_event_counter;
 extern unsigned int    vm_zf_count;
 
 extern unsigned int    vm_pageout_scan_event_counter;
 extern unsigned int    vm_zf_count;
+extern unsigned int    vm_zf_queue_count;
 
 /*
  *     Routines exported to Mach.
  */
 extern void            vm_pageout(void);
 
 
 /*
  *     Routines exported to Mach.
  */
 extern void            vm_pageout(void);
 
-extern vm_object_t     vm_pageout_object_allocate(
-                                       vm_page_t               m,
-                                       vm_size_t               size,
-                                       vm_object_offset_t      offset);
+extern kern_return_t   vm_pageout_internal_start(void);
 
 extern void            vm_pageout_object_terminate(
                                        vm_object_t     object);
 
 
 extern void            vm_pageout_object_terminate(
                                        vm_object_t     object);
 
-extern vm_page_t       vm_pageout_setup(
-                                       vm_page_t               m,
-                                       vm_object_t             new_object,
-                                       vm_object_offset_t      new_offset);
-
 extern void            vm_pageout_cluster(
                                        vm_page_t       m);
 
 extern void            vm_pageout_cluster(
                                        vm_page_t       m);
 
@@ -125,12 +118,6 @@ extern void                vm_pageclean_setup(
                                        vm_object_t             new_object,
                                        vm_object_offset_t      new_offset);
 
                                        vm_object_t             new_object,
                                        vm_object_offset_t      new_offset);
 
-extern void            vm_pageclean_copy(
-                                       vm_page_t               m,
-                                       vm_page_t               new_m,
-                                       vm_object_t             new_object,
-                                       vm_object_offset_t      new_offset);
-
 /* UPL exported routines and structures */
 
 #define upl_lock_init(object)  mutex_init(&(object)->Lock, 0)
 /* UPL exported routines and structures */
 
 #define upl_lock_init(object)  mutex_init(&(object)->Lock, 0)
@@ -170,7 +157,7 @@ struct upl {
 #define UPL_IO_WIRE            0x200
 #define UPL_ACCESS_BLOCKED     0x400
 #define UPL_ENCRYPTED          0x800
 #define UPL_IO_WIRE            0x200
 #define UPL_ACCESS_BLOCKED     0x400
 #define UPL_ENCRYPTED          0x800
-
+#define UPL_SHADOWED           0x1000
 
 /* flags for upl_create flags parameter */
 #define UPL_CREATE_EXTERNAL    0
 
 /* flags for upl_create flags parameter */
 #define UPL_CREATE_EXTERNAL    0
@@ -248,7 +235,8 @@ extern kern_return_t vm_paging_map_object(
        vm_page_t               page,
        vm_object_t             object,
        vm_object_offset_t      offset,
        vm_page_t               page,
        vm_object_t             object,
        vm_object_offset_t      offset,
-       vm_map_size_t           *size);
+       vm_map_size_t           *size,
+       boolean_t               can_unlock_object);
 extern void vm_paging_unmap_object(
        vm_object_t             object,
        vm_map_offset_t         start,
 extern void vm_paging_unmap_object(
        vm_object_t             object,
        vm_map_offset_t         start,