diff options
| author | Jason Beloro <Jason.Beloro@Sun.COM> | 2009-08-06 17:39:39 -0700 |
|---|---|---|
| committer | Jason Beloro <Jason.Beloro@Sun.COM> | 2009-08-06 17:39:39 -0700 |
| commit | 9d0d62ad2e60e8f742a2e723d06e88352ee6a1f3 (patch) | |
| tree | 016e2a6b2f674016c46785258d0ff85e6b1bce09 /usr/src/uts/common/vm | |
| parent | 32a6953793c636df949ca1ae3555438159bda3f6 (diff) | |
| download | illumos-joyent-9d0d62ad2e60e8f742a2e723d06e88352ee6a1f3.tar.gz | |
6858457 Remove Solaris support for UltraSPARC-AT10 processor
Diffstat (limited to 'usr/src/uts/common/vm')
| -rw-r--r-- | usr/src/uts/common/vm/hat.h | 19 | ||||
| -rw-r--r-- | usr/src/uts/common/vm/page.h | 2 | ||||
| -rw-r--r-- | usr/src/uts/common/vm/page_retire.c | 2 | ||||
| -rw-r--r-- | usr/src/uts/common/vm/seg_kmem.c | 11 | ||||
| -rw-r--r-- | usr/src/uts/common/vm/vm_page.c | 38 |
5 files changed, 14 insertions, 58 deletions
diff --git a/usr/src/uts/common/vm/hat.h b/usr/src/uts/common/vm/hat.h index 2a8450fd50..b966acf7fc 100644 --- a/usr/src/uts/common/vm/hat.h +++ b/usr/src/uts/common/vm/hat.h @@ -425,25 +425,6 @@ void hat_setstat(struct as *, caddr_t, size_t, uint_t); #define HAT_STRUCTURE_LE 0x2000 #define HAT_ENDIAN_MASK 0x3000 -/* - * Attributes for non-coherent I-cache support. - * - * We detect if an I-cache has been filled by first resetting - * execute permission in a tte entry. This forces a trap when - * an instruction fetch first occurs in that page. In "soft - * execute mode", the hardware execute permission is cleared - * and a different software execution bit is set in the tte. - * - * HAT_ATTR_TEXT: set this flag to avoid the extra trap associated - * with soft execute mode. Same meaning as HAT_LOAD_TEXT. - * - * HAT_ATTR_NOSOFTEXEC: set this flag when installing a permanent - * mapping, or installing a mapping that will never be - * freed. Overrides soft execute mode. - */ -#define HAT_ATTR_TEXT 0x4000 -#define HAT_ATTR_NOSOFTEXEC 0x8000 - /* flags for hat_softlock */ #define HAT_COW 0x0001 diff --git a/usr/src/uts/common/vm/page.h b/usr/src/uts/common/vm/page.h index 63b0469960..ceccab3d32 100644 --- a/usr/src/uts/common/vm/page.h +++ b/usr/src/uts/common/vm/page.h @@ -780,7 +780,7 @@ int page_mem_avail(pgcnt_t); int page_reclaim_mem(pgcnt_t, pgcnt_t, int); void page_set_props(page_t *, uint_t); -void page_clr_all_props(page_t *, int); +void page_clr_all_props(page_t *); int page_clear_lck_cow(page_t *, int); kmutex_t *page_vnode_mutex(struct vnode *); diff --git a/usr/src/uts/common/vm/page_retire.c b/usr/src/uts/common/vm/page_retire.c index fa454101f8..8908807a4d 100644 --- a/usr/src/uts/common/vm/page_retire.c +++ b/usr/src/uts/common/vm/page_retire.c @@ -535,7 +535,7 @@ page_retire_destroy(page_t *pp) ASSERT(!hat_page_is_mapped(pp)); ASSERT(!pp->p_vnode); - page_clr_all_props(pp, 0); + page_clr_all_props(pp); pagescrub(pp, 0, MMU_PAGESIZE); pp->p_next = NULL; diff --git a/usr/src/uts/common/vm/seg_kmem.c b/usr/src/uts/common/vm/seg_kmem.c index fdc5ab7aa7..d3aac6aa25 100644 --- a/usr/src/uts/common/vm/seg_kmem.c +++ b/usr/src/uts/common/vm/seg_kmem.c @@ -19,7 +19,7 @@ * CDDL HEADER END */ /* - * Copyright 2008 Sun Microsystems, Inc. All rights reserved. + * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -883,15 +883,6 @@ segkmem_xalloc(vmem_t *vmp, void *inaddr, size_t size, int vmflag, uint_t attr, else allocflag = 0; - /* - * Support for non-coherent I-cache. - * Set HAT_LOAD_TEXT to override soft execute. - */ - if (attr & HAT_ATTR_TEXT) { - attr &= ~HAT_ATTR_TEXT; - allocflag |= HAT_LOAD_TEXT; - } - while (ppl != NULL) { page_t *pp = ppl; page_sub(&ppl, pp); diff --git a/usr/src/uts/common/vm/vm_page.c b/usr/src/uts/common/vm/vm_page.c index 951098f201..a6af733be8 100644 --- a/usr/src/uts/common/vm/vm_page.c +++ b/usr/src/uts/common/vm/vm_page.c @@ -620,7 +620,7 @@ add_physmem( * initialize other fields in the page_t */ PP_SETFREE(pp); - page_clr_all_props(pp, 0); + page_clr_all_props(pp); PP_SETAGED(pp); pp->p_offset = (u_offset_t)-1; pp->p_next = pp; @@ -2662,7 +2662,7 @@ page_free(page_t *pp, int dontneed) PP_SETFREE(pp); ASSERT(pp->p_vnode == NULL || !IS_VMODSORT(pp->p_vnode) || !hat_ismod(pp)); - page_clr_all_props(pp, 0); + page_clr_all_props(pp); ASSERT(!hat_page_getshare(pp)); /* @@ -2803,7 +2803,7 @@ page_free_pages(page_t *pp) ASSERT(tpp->p_szc == szc); PP_SETFREE(tpp); - page_clr_all_props(tpp, 0); + page_clr_all_props(tpp); PP_SETAGED(tpp); tpp->p_offset = (u_offset_t)-1; ASSERT(tpp->p_next == tpp); @@ -3149,7 +3149,7 @@ page_destroy_pages(page_t *pp) ASSERT(tpp->p_szc == szc); PP_SETFREE(tpp); - page_clr_all_props(tpp, 0); + page_clr_all_props(tpp); PP_SETAGED(tpp); ASSERT(tpp->p_next == tpp); ASSERT(tpp->p_prev == tpp); @@ -3525,7 +3525,7 @@ page_do_hashout(page_t *pp) page_vpsub(&vp->v_pages, pp); pp->p_hash = NULL; - page_clr_all_props(pp, 1); + page_clr_all_props(pp); PP_CLRSWAP(pp); pp->p_vnode = NULL; pp->p_offset = (u_offset_t)-1; @@ -4542,7 +4542,7 @@ page_do_relocate_hash(page_t *new, page_t *old) old->p_vnode = NULL; PP_CLRSWAP(old); old->p_offset = (u_offset_t)-1; - page_clr_all_props(old, 1); + page_clr_all_props(old); /* * Wake up processes waiting for this page. The page's @@ -4888,7 +4888,7 @@ do_page_relocate( for (i = 0; i < npgs; i++) { ppattr = hat_page_getattr(targ, (P_MOD | P_REF | P_RO)); - page_clr_all_props(repl, 0); + page_clr_all_props(repl); page_set_props(repl, ppattr); page_relocate_hash(repl, targ); @@ -4899,7 +4899,7 @@ do_page_relocate( * page_relocate_hash(), they no longer * have any meaning. */ - page_clr_all_props(targ, 0); + page_clr_all_props(targ); ASSERT(targ->p_next == targ); ASSERT(targ->p_prev == targ); page_list_concat(&pl, &targ); @@ -4983,7 +4983,7 @@ page_free_replacement_page(page_t *pplist) pp = pplist; if (pp->p_szc == 0) { page_sub(&pplist, pp); - page_clr_all_props(pp, 0); + page_clr_all_props(pp); PP_SETFREE(pp); PP_SETAGED(pp); page_list_add(pp, PG_FREE_LIST | PG_LIST_TAIL); @@ -4997,7 +4997,7 @@ page_free_replacement_page(page_t *pplist) do { ASSERT(PAGE_EXCL(tpp)); ASSERT(!hat_page_is_mapped(tpp)); - page_clr_all_props(tpp, 0); + page_clr_all_props(tpp); PP_SETFREE(tpp); PP_SETAGED(tpp); } while ((tpp = tpp->p_next) != pp); @@ -6110,25 +6110,9 @@ page_set_props(page_t *pp, uint_t flags) pp->p_nrm |= (uchar_t)flags; } -extern void mach_sync_icache_pp(page_t *); -#pragma weak mach_sync_icache_pp - -/* - * Flush I-cache if the page is being reassigned. The hashout flag is - * set when a page has been removed from a hash chain (i.e. vnode - * pages). If the page stays on the hash chain there is a chance it - * will be re-used, therefore there is no need to flush the - * I-cache. However, if the page is being removed from a hash chain - * then the page can be used for any new purpose, and the I-cache must - * be flushed. - */ -/* ARGSUSED */ void -page_clr_all_props(page_t *pp, int hashout) +page_clr_all_props(page_t *pp) { - if (&mach_sync_icache_pp != NULL && hashout) { - mach_sync_icache_pp(pp); - } pp->p_nrm = 0; } |
