PERFORCE change 122604 for review

Peter Wemm peter at FreeBSD.org
Sun Jul 1 02:26:44 UTC 2007


http://perforce.freebsd.org/chv.cgi?CH=122604

Change 122604 by peter at peter_melody on 2007/07/01 02:26:23

	Quiet some gcc-4.2 warnings

Affected files ...

.. //depot/projects/hammer/sys/amd64/amd64/pmap.c#159 edit

Differences ...

==== //depot/projects/hammer/sys/amd64/amd64/pmap.c#159 (text+ko) ====

@@ -379,13 +379,20 @@
 }
 
 
-PMAP_INLINE pt_entry_t *
-vtopte(vm_offset_t va)
+static __inline pt_entry_t *
+_vtopte(vm_offset_t va)
 {
 	u_int64_t mask = ((1ul << (NPTEPGSHIFT + NPDEPGSHIFT + NPDPEPGSHIFT + NPML4EPGSHIFT)) - 1);
 
 	return (PTmap + ((va >> PAGE_SHIFT) & mask));
 }
+pt_entry_t *
+vtopte(vm_offset_t va)
+{
+	
+	return (_vtopte(va));
+}
+#define vtopte(v) _vtopte(v)
 
 static __inline pd_entry_t *
 vtopde(vm_offset_t va)
@@ -967,7 +974,7 @@
  * Add a wired page to the kva.
  * Note: not SMP coherent.
  */
-PMAP_INLINE void 
+void 
 pmap_kenter(vm_offset_t va, vm_paddr_t pa)
 {
 	pt_entry_t *pte;
@@ -976,7 +983,7 @@
 	pte_store(pte, pa | PG_RW | PG_V | PG_G);
 }
 
-PMAP_INLINE void 
+void 
 pmap_kenter_attr(vm_offset_t va, vm_paddr_t pa, int mode)
 {
 	pt_entry_t *pte;
@@ -989,7 +996,7 @@
  * Remove a page from the kernel pagetables.
  * Note: not SMP coherent.
  */
-PMAP_INLINE void
+void
 pmap_kremove(vm_offset_t va)
 {
 	pt_entry_t *pte;
@@ -1054,10 +1061,12 @@
 pmap_qremove(vm_offset_t sva, int count)
 {
 	vm_offset_t va;
+	pt_entry_t *pte;
 
 	va = sva;
 	while (count-- > 0) {
-		pmap_kremove(va);
+		pte = vtopte(va);
+		pte_clear(pte);
 		va += PAGE_SIZE;
 	}
 	pmap_invalidate_range(kernel_pmap, sva, va);


More information about the p4-projects mailing list