summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/vm
diff options
context:
space:
mode:
authorJason Beloro <Jason.Beloro@Sun.COM>2009-08-06 17:39:39 -0700
committerJason Beloro <Jason.Beloro@Sun.COM>2009-08-06 17:39:39 -0700
commit9d0d62ad2e60e8f742a2e723d06e88352ee6a1f3 (patch)
tree016e2a6b2f674016c46785258d0ff85e6b1bce09 /usr/src/uts/common/vm
parent32a6953793c636df949ca1ae3555438159bda3f6 (diff)
downloadillumos-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.h19
-rw-r--r--usr/src/uts/common/vm/page.h2
-rw-r--r--usr/src/uts/common/vm/page_retire.c2
-rw-r--r--usr/src/uts/common/vm/seg_kmem.c11
-rw-r--r--usr/src/uts/common/vm/vm_page.c38
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;
}