patch-2.3.9 linux/arch/sparc64/mm/init.c

Next file: linux/arch/sparc64/solaris/misc.c
Previous file: linux/arch/sparc64/kernel/sys_sunos32.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.3.8/linux/arch/sparc64/mm/init.c linux/arch/sparc64/mm/init.c
@@ -1,4 +1,4 @@
-/*  $Id: init.c,v 1.128 1999/05/25 16:53:24 jj Exp $
+/*  $Id: init.c,v 1.130 1999/06/29 12:34:06 davem Exp $
  *  arch/sparc64/mm/init.c
  *
  *  Copyright (C) 1996-1999 David S. Miller (davem@caip.rutgers.edu)
@@ -147,7 +147,6 @@
 #ifndef __SMP__
 	printk("%d entries in page dir cache\n",pgd_cache_size);
 #endif	
-	show_buffers();
 #ifdef CONFIG_NET
 	show_net_buffers();
 #endif
@@ -419,10 +418,12 @@
 	}
 
 	if (iommu->strbuf_enabled) {
+		volatile u64 *sbuf_pflush = (volatile u64 *) &sregs->sbuf_pflush;
+
 		spin_lock_irqsave(&iommu->iommu_lock, flags);
 		iommu->flushflag = 0;
 		while(start < end) {
-			sregs->sbuf_pflush = start;
+			*sbuf_pflush = start;
 			start += PAGE_SIZE;
 		}
 		sregs->sbuf_fsync = __pa(&(iommu->flushflag));
@@ -447,6 +448,8 @@
 	start &= PAGE_MASK;
 
 	if (iommu->strbuf_enabled) {
+		volatile u64 *sbuf_pflush = (volatile u64 *) &sregs->sbuf_pflush;
+
 		spin_lock_irqsave(&iommu->iommu_lock, flags);
 
 		/* 1) Clear the flush flag word */
@@ -456,7 +459,7 @@
 		 *    we want flushed.
 		 */
 		while(start < end) {
-			sregs->sbuf_pflush = start;
+			*sbuf_pflush = start;
 			start += PAGE_SIZE;
 		}
 
@@ -484,6 +487,8 @@
 	volatile u64 *sbctrl = (volatile u64 *) &sregs->sbus_control;
 
 	if (iommu->strbuf_enabled) {
+		volatile u64 *sbuf_pflush = (volatile u64 *) &sregs->sbuf_pflush;
+
 		spin_lock_irqsave(&iommu->iommu_lock, flags);
 		iommu->flushflag = 0;
 
@@ -500,7 +505,7 @@
 			sg[sz--].dvma_addr = sbus_dvma_addr(start);
 			start &= PAGE_MASK;
 			while(start < end) {
-				sregs->sbuf_pflush = start;
+				*sbuf_pflush = start;
 				start += PAGE_SIZE;
 			}
 		}
@@ -535,6 +540,8 @@
 	unsigned long flags, tmp;
 
 	if (iommu->strbuf_enabled) {
+		volatile u64 *sbuf_pflush = (volatile u64 *) &sregs->sbuf_pflush;
+
 		spin_lock_irqsave(&iommu->iommu_lock, flags);
 
 		/* 1) Clear the flush flag word */
@@ -549,7 +556,7 @@
 
 			start &= PAGE_MASK;
 			while(start < end) {
-				sregs->sbuf_pflush = start;
+				*sbuf_pflush = start;
 				start += PAGE_SIZE;
 			}
 			sz--;
@@ -1448,7 +1455,7 @@
 	val->totalram = 0;
 	val->sharedram = 0;
 	val->freeram = ((unsigned long)nr_free_pages) << PAGE_SHIFT;
-	val->bufferram = buffermem;
+	val->bufferram = atomic_read(&buffermem);
 	for (page = mem_map, end = mem_map + max_mapnr;
 	     page < end; page++) {
 		if (PageSkip(page)) {

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)