]> git.saurik.com Git - apple/xnu.git/blobdiff - osfmk/vm/device_vm.c
xnu-7195.81.3.tar.gz
[apple/xnu.git] / osfmk / vm / device_vm.c
index 377d1aacccb9a7c75e9e96223e86b929ae4403f1..76e537501d969589080b3b88b6ec84a907888ee4 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000-2019 Apple Inc. All rights reserved.
+ * Copyright (c) 2000-2020 Apple Inc. All rights reserved.
  *
  * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  *
@@ -78,6 +78,7 @@ const struct memory_object_pager_ops device_pager_ops = {
        .memory_object_map = device_pager_map,
        .memory_object_last_unmap = device_pager_last_unmap,
        .memory_object_data_reclaim = NULL,
+       .memory_object_backing_object = NULL,
        .memory_object_pager_name = "device pager"
 };
 
@@ -99,15 +100,14 @@ typedef struct device_pager {
        boolean_t       is_mapped;
 } *device_pager_t;
 
-lck_grp_t       device_pager_lck_grp;
-lck_grp_attr_t  device_pager_lck_grp_attr;
-lck_attr_t      device_pager_lck_attr;
+LCK_GRP_DECLARE(device_pager_lck_grp, "device_pager");
 
-#define device_pager_lock_init(pager)                           \
-       lck_mtx_init(&(pager)->lock,                            \
-                    &device_pager_lck_grp,                     \
-                    &device_pager_lck_attr)
-#define device_pager_lock_destroy(pager)                        \
+ZONE_DECLARE(device_pager_zone, "device node pager structures",
+    sizeof(struct device_pager), ZC_NONE);
+
+#define device_pager_lock_init(pager) \
+       lck_mtx_init(&(pager)->lock, &device_pager_lck_grp, LCK_ATTR_NULL)
+#define device_pager_lock_destroy(pager) \
        lck_mtx_destroy(&(pager)->lock, &device_pager_lck_grp)
 #define device_pager_lock(pager) lck_mtx_lock(&(pager)->lock)
 #define device_pager_unlock(pager) lck_mtx_unlock(&(pager)->lock)
@@ -119,38 +119,11 @@ device_pager_lookup(            /* forward */
 device_pager_t
 device_object_create(void);     /* forward */
 
-zone_t  device_pager_zone;
-
-
 #define DEVICE_PAGER_NULL       ((device_pager_t) 0)
 
-
 #define MAX_DNODE               10000
 
 
-
-
-
-/*
- *
- */
-void
-device_pager_bootstrap(void)
-{
-       vm_size_t      size;
-
-       size = (vm_size_t) sizeof(struct device_pager);
-       device_pager_zone = zinit(size, (vm_size_t) MAX_DNODE * size,
-           PAGE_SIZE, "device node pager structures");
-       zone_change(device_pager_zone, Z_CALLERACCT, FALSE);
-
-       lck_grp_attr_setdefault(&device_pager_lck_grp_attr);
-       lck_grp_init(&device_pager_lck_grp, "device_pager", &device_pager_lck_grp_attr);
-       lck_attr_setdefault(&device_pager_lck_attr);
-
-       return;
-}
-
 /*
  *
  */