Print this page
6345 remove xhat support

*** 657,672 **** * has a 4M pagesize, and memory is low, the allocation of 4M pages may fail * then 8K pages will be allocated instead and the first TSB which stores 8K * mappings will potentially be undersized. To compensate for the potential * underaccounting in this case we always add 1/4 of the region size to the 8K * ttecnt. - * - * Note that sfmmu_xhat_provider MUST be the first element. */ struct hat { - void *sfmmu_xhat_provider; /* NULL for CPU hat */ cpuset_t sfmmu_cpusran; /* cpu bit mask for efficient xcalls */ struct as *sfmmu_as; /* as this hat provides mapping for */ /* per pgsz private ttecnt + shme rgns ttecnt for rgns not in SCD */ ulong_t sfmmu_ttecnt[MMU_PAGE_SIZES]; /* shme rgns ttecnt for rgns in SCD */ --- 657,669 ----
*** 1239,1258 **** * * The hmeblk now also has per tte lock cnts. This is required because * the counts can be high and there are not enough bits in the tte. When * physio is fixed to not lock the translations we should be able to move * the lock cnt back to the tte. See bug id 1198554. - * - * Note that xhat_hme_blk's layout follows this structure: hme_blk_misc - * and sf_hment are at the same offsets in both structures. Whenever - * hme_blk is changed, xhat_hme_blk may need to be updated as well. */ struct hme_blk_misc { ! uint_t notused:25; uint_t shared_bit:1; /* set for SRD shared hmeblk */ - uint_t xhat_bit:1; /* set for an xhat hme_blk */ uint_t shadow_bit:1; /* set for a shadow hme_blk */ uint_t nucleus_bit:1; /* set for a nucleus hme_blk */ uint_t ttesize:3; /* contains ttesz of hmeblk */ }; --- 1236,1250 ---- * * The hmeblk now also has per tte lock cnts. This is required because * the counts can be high and there are not enough bits in the tte. When * physio is fixed to not lock the translations we should be able to move * the lock cnt back to the tte. See bug id 1198554. */ struct hme_blk_misc { ! uint_t notused:26; uint_t shared_bit:1; /* set for SRD shared hmeblk */ uint_t shadow_bit:1; /* set for a shadow hme_blk */ uint_t nucleus_bit:1; /* set for a nucleus hme_blk */ uint_t ttesize:3; /* contains ttesz of hmeblk */ };
*** 1288,1298 **** struct sf_hment hblk_hme[1]; /* hment array */ }; #define hblk_shared hblk_misc.shared_bit - #define hblk_xhat_bit hblk_misc.xhat_bit #define hblk_shw_bit hblk_misc.shadow_bit #define hblk_nuc_bit hblk_misc.nucleus_bit #define hblk_ttesz hblk_misc.ttesize #define hblk_hmecnt hblk_un.hblk_counts.hblk_hmecount #define hblk_vcnt hblk_un.hblk_counts.hblk_validcnt --- 1280,1289 ----
*** 2313,2325 **** extern int sfmmu_get_ppvcolor(struct page *); extern int sfmmu_get_addrvcolor(caddr_t); extern int sfmmu_hat_lock_held(sfmmu_t *); extern int sfmmu_alloc_ctx(sfmmu_t *, int, struct cpu *, int); - /* - * Functions exported to xhat_sfmmu.c - */ extern kmutex_t *sfmmu_mlist_enter(page_t *); extern void sfmmu_mlist_exit(kmutex_t *); extern int sfmmu_mlist_held(struct page *); extern struct hme_blk *sfmmu_hmetohblk(struct sf_hment *); --- 2304,2313 ----