From owner-svn-src-user@FreeBSD.ORG  Fri Apr  2 02:17:16 2010
Return-Path: <owner-svn-src-user@FreeBSD.ORG>
Delivered-To: svn-src-user@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 19B3B106566B;
	Fri,  2 Apr 2010 02:17:16 +0000 (UTC)
	(envelope-from jmallett@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 0868D8FC12;
	Fri,  2 Apr 2010 02:17:16 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o322HFJA017572;
	Fri, 2 Apr 2010 02:17:15 GMT (envelope-from jmallett@svn.freebsd.org)
Received: (from jmallett@localhost)
	by svn.freebsd.org (8.14.3/8.14.3/Submit) id o322HFSf017568;
	Fri, 2 Apr 2010 02:17:15 GMT (envelope-from jmallett@svn.freebsd.org)
Message-Id: <201004020217.o322HFSf017568@svn.freebsd.org>
From: Juli Mallett <jmallett@FreeBSD.org>
Date: Fri, 2 Apr 2010 02:17:15 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-user@freebsd.org
X-SVN-Group: user
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r206062 - in user/jmallett/octeon/sys/mips: include mips
X-BeenThere: svn-src-user@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the experimental &quot; user&quot;
	src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
	<mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
	<mailto:svn-src-user-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Apr 2010 02:17:16 -0000

Author: jmallett
Date: Fri Apr  2 02:17:15 2010
New Revision: 206062
URL: http://svn.freebsd.org/changeset/base/206062

Log:
  Go back to 64-bit PTEs on N64.  Nothing much has been updated for this but some
  format strings.
  
  Ifdef out some code that's only used by the recursive mappings that are used to
  map >=512mb pages in the page table on O32 and N32.

Modified:
  user/jmallett/octeon/sys/mips/include/pte.h
  user/jmallett/octeon/sys/mips/mips/pmap.c
  user/jmallett/octeon/sys/mips/mips/trap.c

Modified: user/jmallett/octeon/sys/mips/include/pte.h
==============================================================================
--- user/jmallett/octeon/sys/mips/include/pte.h	Fri Apr  2 01:53:48 2010	(r206061)
+++ user/jmallett/octeon/sys/mips/include/pte.h	Fri Apr  2 02:17:15 2010	(r206062)
@@ -83,7 +83,7 @@ struct tlb {
 	int	tlb_lo1;
 };
 
-typedef int32_t pt_entry_t;
+typedef unsigned long pt_entry_t;
 typedef pt_entry_t *pd_entry_t;
 
 #define	PDESIZE		sizeof(pd_entry_t)	/* for assembly files */

Modified: user/jmallett/octeon/sys/mips/mips/pmap.c
==============================================================================
--- user/jmallett/octeon/sys/mips/mips/pmap.c	Fri Apr  2 01:53:48 2010	(r206061)
+++ user/jmallett/octeon/sys/mips/mips/pmap.c	Fri Apr  2 02:17:15 2010	(r206062)
@@ -974,11 +974,14 @@ pmap_unmap_fpage(vm_paddr_t pa, struct f
 static int
 _pmap_unwire_pte_hold(pmap_t pmap, vm_page_t m)
 {
+#if !defined(__mips_n64)
 	vm_offset_t pteva;
+#endif
 
 	/*
 	 * unmap the page table page
 	 */
+#if !defined(__mips_n64)
 	pteva = (vm_offset_t)pmap->pm_segtab[m->pindex];
 	if (pteva >= VM_MIN_KERNEL_ADDRESS) {
 		pmap_kremove(pteva);
@@ -988,6 +991,7 @@ _pmap_unwire_pte_hold(pmap_t pmap, vm_pa
 		    ("_pmap_unwire_pte_hold: 0x%0lx is not in kseg0",
 		    (long)pteva));
 	}
+#endif
 
 	pmap->pm_segtab[m->pindex] = 0;
 	--pmap->pm_stats.resident_count;
@@ -1285,6 +1289,7 @@ pmap_release(pmap_t pmap)
 	ptdva = (vm_offset_t)pmap->pm_segtab;
 	ptdpg = PHYS_TO_VM_PAGE(vtophys(ptdva));
 
+#if !defined(__mips_n64)
 	if (ptdva >= VM_MIN_KERNEL_ADDRESS) {
 		pmap_kremove(ptdva);
 		kmem_free(kernel_map, ptdva, PAGE_SIZE);
@@ -1292,6 +1297,7 @@ pmap_release(pmap_t pmap)
 		KASSERT(MIPS_IS_KSEG0_ADDR(ptdva),
 		    ("pmap_release: 0x%0lx is not in kseg0", (long)ptdva));
 	}
+#endif
 
 	ptdpg->wire_count--;
 	atomic_subtract_int(&cnt.v_wire_count, 1);
@@ -2024,7 +2030,7 @@ validate:
 			if (origpte & PTE_M) {
 				KASSERT((origpte & PTE_RW),
 				    ("pmap_enter: modified page not writable:"
-				    " va: %p, pte: 0x%x", (void *)va, origpte));
+				    " va: %p, pte: 0x%lx", (void *)va, origpte));
 				if (page_is_managed(opa))
 					vm_page_dirty(om);
 			}
@@ -2718,7 +2724,7 @@ pmap_remove_pages(pmap_t pmap)
 		m = PHYS_TO_VM_PAGE(mips_tlbpfn_to_paddr(tpte));
 
 		KASSERT(m < &vm_page_array[vm_page_array_size],
-		    ("pmap_remove_pages: bad tpte %x", tpte));
+		    ("pmap_remove_pages: bad tpte %lx", tpte));
 
 		pv->pv_pmap->pm_stats.resident_count--;
 

Modified: user/jmallett/octeon/sys/mips/mips/trap.c
==============================================================================
--- user/jmallett/octeon/sys/mips/mips/trap.c	Fri Apr  2 01:53:48 2010	(r206061)
+++ user/jmallett/octeon/sys/mips/mips/trap.c	Fri Apr  2 02:17:15 2010	(r206062)
@@ -1349,7 +1349,7 @@ log_illegal_instruction(const char *msg,
 	if (!(pc & 3) &&
 	    useracc((caddr_t)(intptr_t)pc, sizeof(int) * 4, VM_PROT_READ)) {
 		/* dump page table entry for faulting instruction */
-		log(LOG_ERR, "Page table info for pc address %#jx: pde = %p, pte = %#x\n",
+		log(LOG_ERR, "Page table info for pc address %#jx: pde = %p, pte = %#lx\n",
 		    (intmax_t)pc, (void *)(intptr_t)*pdep, ptep ? *ptep : 0);
 
 		addr = (unsigned int *)(intptr_t)pc;
@@ -1358,7 +1358,7 @@ log_illegal_instruction(const char *msg,
 		log(LOG_ERR, "%08x %08x %08x %08x\n",
 		    addr[0], addr[1], addr[2], addr[3]);
 	} else {
-		log(LOG_ERR, "pc address %#jx is inaccessible, pde = %p, pte = %#x\n",
+		log(LOG_ERR, "pc address %#jx is inaccessible, pde = %p, pte = %#lx\n",
 		    (intmax_t)pc, (void *)(intptr_t)*pdep, ptep ? *ptep : 0);
 	}
 }
@@ -1413,7 +1413,7 @@ log_bad_page_fault(char *msg, struct tra
 	    (trap_type != T_BUS_ERR_IFETCH) &&
 	    useracc((caddr_t)(intptr_t)pc, sizeof(int) * 4, VM_PROT_READ)) {
 		/* dump page table entry for faulting instruction */
-		log(LOG_ERR, "Page table info for pc address %#jx: pde = %p, pte = %#x\n",
+		log(LOG_ERR, "Page table info for pc address %#jx: pde = %p, pte = %#lx\n",
 		    (intmax_t)pc, (void *)(intptr_t)*pdep, ptep ? *ptep : 0);
 
 		addr = (unsigned int *)(intptr_t)pc;
@@ -1422,7 +1422,7 @@ log_bad_page_fault(char *msg, struct tra
 		log(LOG_ERR, "%08x %08x %08x %08x\n",
 		    addr[0], addr[1], addr[2], addr[3]);
 	} else {
-		log(LOG_ERR, "pc address %#jx is inaccessible, pde = %p, pte = %#x\n",
+		log(LOG_ERR, "pc address %#jx is inaccessible, pde = %p, pte = %#lx\n",
 		    (intmax_t)pc, (void *)(intptr_t)*pdep, ptep ? *ptep : 0);
 	}
 	/*	panic("Bad trap");*/