Deleted Added
full compact
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}