/* boolean_t */ pmap_cs_associated:1,
/* boolean_t */ mark_zf_absent:1,
/* boolean_t */ batch_pmap_op:1,
- __vm_object_fault_info_unused_bits:25;
+ /* boolean_t */ resilient_media:1,
+ /* boolean_t */ no_copy_on_read:1,
+ __vm_object_fault_info_unused_bits:23;
int pmap_options;
};
#else /* VM_OBJECT_ACCESS_TRACKING */
__unused_access_tracking:1,
#endif /* VM_OBJECT_ACCESS_TRACKING */
- vo_ledger_tag:2,
- __object2_unused_bits:2; /* for expansion */
+ vo_ledger_tag:3,
+ vo_no_footprint:1;
#if VM_OBJECT_ACCESS_TRACKING
uint32_t access_tracking_reads;
#endif /* DEBUG */
};
-/* values for object->vo_ledger_tag */
-#define VM_OBJECT_LEDGER_TAG_NONE 0
-#define VM_OBJECT_LEDGER_TAG_NETWORK 1
-#define VM_OBJECT_LEDGER_TAG_MEDIA 2
-#define VM_OBJECT_LEDGER_TAG_RESERVED 3
-
#define VM_OBJECT_PURGEABLE_FAULT_ERROR(object) \
((object)->volatile_fault && \
((object)->purgable == VM_PURGABLE_VOLATILE || \
#if CONFIG_FREEZE
-__private_extern__ void
+__private_extern__ uint32_t
vm_object_compressed_freezer_pageout(
- vm_object_t object);
+ vm_object_t object, uint32_t dirty_budget);
__private_extern__ void
vm_object_compressed_freezer_done(
boolean_t *do_footprint);
extern kern_return_t vm_object_ownership_change(
vm_object_t object,
- int ledger_tag,
- task_t owner,
+ int new_ledger_tag,
+ task_t new_owner,
+ int new_ledger_flags,
boolean_t task_objq_locked);
#endif /* _VM_VM_OBJECT_H_ */