pmap.c (182767) | pmap.c (182877) |
---|---|
1/*- 2 * Copyright (c) 1991 Regents of the University of California. 3 * All rights reserved. 4 * Copyright (c) 1994 John S. Dyson 5 * All rights reserved. 6 * Copyright (c) 1994 David Greenman 7 * All rights reserved. 8 * --- 28 unchanged lines hidden (view full) --- 37 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 38 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 39 * SUCH DAMAGE. 40 * 41 * from: @(#)pmap.c 7.7 (Berkeley) 5/12/91 42 */ 43 44#include <sys/cdefs.h> | 1/*- 2 * Copyright (c) 1991 Regents of the University of California. 3 * All rights reserved. 4 * Copyright (c) 1994 John S. Dyson 5 * All rights reserved. 6 * Copyright (c) 1994 David Greenman 7 * All rights reserved. 8 * --- 28 unchanged lines hidden (view full) --- 37 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 38 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 39 * SUCH DAMAGE. 40 * 41 * from: @(#)pmap.c 7.7 (Berkeley) 5/12/91 42 */ 43 44#include <sys/cdefs.h> |
45__FBSDID("$FreeBSD: head/sys/sparc64/sparc64/pmap.c 182767 2008-09-04 19:43:14Z marius $"); | 45__FBSDID("$FreeBSD: head/sys/sparc64/sparc64/pmap.c 182877 2008-09-08 20:38:48Z marius $"); |
46 47/* 48 * Manages physical address maps. 49 * 50 * In addition to hardware address maps, this module is called upon to 51 * provide software-use-only maps which may or may not be stored in the 52 * same form as hardware maps. These pseudo-maps are used to store 53 * intermediate results from copy operations to and from address spaces. --- 497 unchanged lines hidden (view full) --- 551 stxa_sync(0, ASI_DTLB_DATA_IN_REG, data); 552 } 553 554 /* 555 * Set the secondary context to be the kernel context (needed for 556 * FP block operations in the kernel). 557 */ 558 stxa(AA_DMMU_SCXR, ASI_DMMU, TLB_CTX_KERNEL); | 46 47/* 48 * Manages physical address maps. 49 * 50 * In addition to hardware address maps, this module is called upon to 51 * provide software-use-only maps which may or may not be stored in the 52 * same form as hardware maps. These pseudo-maps are used to store 53 * intermediate results from copy operations to and from address spaces. --- 497 unchanged lines hidden (view full) --- 551 stxa_sync(0, ASI_DTLB_DATA_IN_REG, data); 552 } 553 554 /* 555 * Set the secondary context to be the kernel context (needed for 556 * FP block operations in the kernel). 557 */ 558 stxa(AA_DMMU_SCXR, ASI_DMMU, TLB_CTX_KERNEL); |
559 membar(Sync); | 559 flush(KERNBASE); |
560 561 intr_restore(s); 562} 563 564/* 565 * Allocate a physical page of memory directly from the phys_avail map. 566 * Can only be called from pmap_bootstrap before avail start and end are 567 * calculated. --- 1407 unchanged lines hidden (view full) --- 1975 1976 pm->pm_context[curcpu] = context; 1977 pm->pm_active |= PCPU_GET(cpumask); 1978 PCPU_SET(pmap, pm); 1979 1980 stxa(AA_DMMU_TSB, ASI_DMMU, pm->pm_tsb); 1981 stxa(AA_IMMU_TSB, ASI_IMMU, pm->pm_tsb); 1982 stxa(AA_DMMU_PCXR, ASI_DMMU, context); | 560 561 intr_restore(s); 562} 563 564/* 565 * Allocate a physical page of memory directly from the phys_avail map. 566 * Can only be called from pmap_bootstrap before avail start and end are 567 * calculated. --- 1407 unchanged lines hidden (view full) --- 1975 1976 pm->pm_context[curcpu] = context; 1977 pm->pm_active |= PCPU_GET(cpumask); 1978 PCPU_SET(pmap, pm); 1979 1980 stxa(AA_DMMU_TSB, ASI_DMMU, pm->pm_tsb); 1981 stxa(AA_IMMU_TSB, ASI_IMMU, pm->pm_tsb); 1982 stxa(AA_DMMU_PCXR, ASI_DMMU, context); |
1983 membar(Sync); | 1983 flush(KERNBASE); |
1984 1985 mtx_unlock_spin(&sched_lock); 1986} 1987 1988/* 1989 * Increase the starting virtual address of the given mapping if a 1990 * different alignment might result in more superpage mappings. 1991 */ 1992void 1993pmap_align_superpage(vm_object_t object, vm_ooffset_t offset, 1994 vm_offset_t *addr, vm_size_t size) 1995{ 1996 1997} | 1984 1985 mtx_unlock_spin(&sched_lock); 1986} 1987 1988/* 1989 * Increase the starting virtual address of the given mapping if a 1990 * different alignment might result in more superpage mappings. 1991 */ 1992void 1993pmap_align_superpage(vm_object_t object, vm_ooffset_t offset, 1994 vm_offset_t *addr, vm_size_t size) 1995{ 1996 1997} |