Print this page
patch vm-cleanup
*** 1174,1228 ****
return (0);
}
static void
- zulu_hat_swapout(struct xhat *xhat)
- {
- struct zulu_hat *zhat = (struct zulu_hat *)xhat;
- struct zulu_hat_blk *zblk;
- struct zulu_hat_blk *free_list = NULL;
- int i;
- int nblks = 0;
-
- TNF_PROBE_1(zulu_hat_swapout, "zulu_hat", /* CSTYLED */,
- tnf_int, zulu_ctx, zhat->zulu_ctx);
-
- mutex_enter(&zhat->lock);
-
- /*
- * real swapout calls are rare so we don't do anything in
- * particular to optimize them.
- *
- * Just loop over all buckets in the hash table and free each
- * zblk.
- */
- for (i = 0; i < ZULU_HASH_TBL_NUM; i++) {
- struct zulu_hat_blk *next;
- for (zblk = zhat->hash_tbl[i]; zblk != NULL; zblk = next) {
- next = zblk->zulu_hash_next;
- zulu_hat_remove_map(zhat, zblk);
- add_to_free_list(&free_list, zblk);
- nblks++;
- }
- }
-
- /*
- * remove all mappings for this context from zulu hardware.
- */
- zulu_hat_demap_ctx(zhat->zdev, zhat->zulu_ctx);
-
- mutex_exit(&zhat->lock);
-
- free_zblks(free_list);
-
- TNF_PROBE_1(zulu_hat_swapout_done, "zulu_hat", /* CSTYLED */,
- tnf_int, nblks, nblks);
- }
-
-
- static void
zulu_hat_unshare(struct xhat *xhat, caddr_t vaddr, size_t size)
{
TNF_PROBE_0(zulu_hat_unshare, "zulu_hat", /* CSTYLED */);
zulu_hat_unload(xhat, vaddr, size, 0);
--- 1174,1183 ----
*** 1310,1321 ****
zulu_hat_alloc, /* xhat_alloc */
zulu_hat_free, /* xhat_free */
zulu_hat_free_start, /* xhat_free_start */
NULL, /* xhat_free_end */
NULL, /* xhat_dup */
- NULL, /* xhat_swapin */
- zulu_hat_swapout, /* xhat_swapout */
zulu_hat_memload, /* xhat_memload */
zulu_hat_memload_array, /* xhat_memload_array */
zulu_hat_devload, /* xhat_devload */
zulu_hat_unload, /* xhat_unload */
zulu_hat_unload_callback, /* xhat_unload_callback */
--- 1265,1274 ----