Print this page
patch vm-cleanup

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/sun4u/vm/zulu_hat.c
          +++ new/usr/src/uts/sun4u/vm/zulu_hat.c
↓ open down ↓ 1168 lines elided ↑ open up ↑
1169 1169          mutex_exit(&zhat->lock);
1170 1170  
1171 1171          if (do_delete) {
1172 1172                  (void) xhat_delete_xhatblk(xblk, 1);
1173 1173          }
1174 1174  
1175 1175          return (0);
1176 1176  }
1177 1177  
1178 1178  static void
1179      -zulu_hat_swapout(struct xhat *xhat)
1180      -{
1181      -        struct zulu_hat *zhat = (struct zulu_hat *)xhat;
1182      -        struct zulu_hat_blk *zblk;
1183      -        struct zulu_hat_blk *free_list = NULL;
1184      -        int     i;
1185      -        int     nblks = 0;
1186      -
1187      -        TNF_PROBE_1(zulu_hat_swapout, "zulu_hat", /* CSTYLED */,
1188      -                tnf_int, zulu_ctx, zhat->zulu_ctx);
1189      -
1190      -        mutex_enter(&zhat->lock);
1191      -
1192      -        /*
1193      -         * real swapout calls are rare so we don't do anything in
1194      -         * particular to optimize them.
1195      -         *
1196      -         * Just loop over all buckets in the hash table and free each
1197      -         * zblk.
1198      -         */
1199      -        for (i = 0; i < ZULU_HASH_TBL_NUM; i++) {
1200      -                struct zulu_hat_blk *next;
1201      -                for (zblk = zhat->hash_tbl[i]; zblk != NULL; zblk = next) {
1202      -                        next = zblk->zulu_hash_next;
1203      -                        zulu_hat_remove_map(zhat, zblk);
1204      -                        add_to_free_list(&free_list, zblk);
1205      -                        nblks++;
1206      -                }
1207      -        }
1208      -
1209      -        /*
1210      -         * remove all mappings for this context from zulu hardware.
1211      -         */
1212      -        zulu_hat_demap_ctx(zhat->zdev, zhat->zulu_ctx);
1213      -
1214      -        mutex_exit(&zhat->lock);
1215      -
1216      -        free_zblks(free_list);
1217      -
1218      -        TNF_PROBE_1(zulu_hat_swapout_done, "zulu_hat", /* CSTYLED */,
1219      -                tnf_int, nblks, nblks);
1220      -}
1221      -
1222      -
1223      -static void
1224 1179  zulu_hat_unshare(struct xhat *xhat, caddr_t vaddr, size_t size)
1225 1180  {
1226 1181          TNF_PROBE_0(zulu_hat_unshare, "zulu_hat", /* CSTYLED */);
1227 1182  
1228 1183          zulu_hat_unload(xhat, vaddr, size, 0);
1229 1184  }
1230 1185  
1231 1186  /*
1232 1187   * Functions to manage changes in protections for mappings.
1233 1188   *
↓ open down ↓ 71 lines elided ↑ open up ↑
1305 1260          zulu_hat_update_attr(xhat, vaddr, size, flags, ZULU_HAT_CHGATTR);
1306 1261  }
1307 1262  
1308 1263  
1309 1264  struct xhat_ops zulu_hat_ops = {
1310 1265          zulu_hat_alloc,         /* xhat_alloc */
1311 1266          zulu_hat_free,          /* xhat_free */
1312 1267          zulu_hat_free_start,    /* xhat_free_start */
1313 1268          NULL,                   /* xhat_free_end */
1314 1269          NULL,                   /* xhat_dup */
1315      -        NULL,                   /* xhat_swapin */
1316      -        zulu_hat_swapout,       /* xhat_swapout */
1317 1270          zulu_hat_memload,       /* xhat_memload */
1318 1271          zulu_hat_memload_array, /* xhat_memload_array */
1319 1272          zulu_hat_devload,       /* xhat_devload */
1320 1273          zulu_hat_unload,        /* xhat_unload */
1321 1274          zulu_hat_unload_callback, /* xhat_unload_callback */
1322 1275          zulu_hat_setattr,       /* xhat_setattr */
1323 1276          zulu_hat_clrattr,       /* xhat_clrattr */
1324 1277          zulu_hat_chgattr,       /* xhat_chgattr */
1325 1278          zulu_hat_unshare,       /* xhat_unshare */
1326 1279          zulu_hat_chgprot,       /* xhat_chgprot */
↓ open down ↓ 143 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX