Subject: [PATCH] mips64 typo and formatting fixes

From: Thiemo Seufer <[email-masked]>
Date: Thu, 24 May 2001 01:10:53 +0200

Hi All,

here is some fallout from my mips64 development, most of it is
fixing of typos and source code formatting.

Ok to apply?

Thiemo

diff -BurPX /bigdisk/dl/src/dontdiff linux-orig/arch/mips64/arc/Makefile linux/arch/mips64/arc/Makefile
--- linux-orig/arch/mips64/arc/Makefile	Tue Mar 20 00:02:37 2001
+++ linux/arch/mips64/arc/Makefile	Wed May 23 23:39:56 2001
@@ -7,6 +7,6 @@
 	   file.o
 
 obj-$(CONFIG_ARC_MEMORY) += memory.o
-obj-$(CONFIG_ARC_CONSOLE)   += arc_con.o
+obj-$(CONFIG_ARC_CONSOLE) += arc_con.o
 
 include $(TOPDIR)/Rules.make
diff -BurPX /bigdisk/dl/src/dontdiff linux-orig/arch/mips64/kernel/r4k_fpu.S linux/arch/mips64/kernel/r4k_fpu.S
--- linux-orig/arch/mips64/kernel/r4k_fpu.S	Wed Apr 11 23:21:33 2001
+++ linux/arch/mips64/kernel/r4k_fpu.S	Wed May 23 23:39:56 2001
@@ -32,11 +32,11 @@
 	.set	noreorder
 	/* Save floating point context */
 LEAF(save_fp_context)
-	mfc0	t1,CP0_STATUS
-	 sll	t2,t1,5
+	mfc0	t1, CP0_STATUS
+	sll	t2, t1,5
 
-	bgez	t2,1f
-	 cfc1	t1,fcr31
+	bgez	t2, 1f
+	 cfc1	t1, fcr31
 	/* Store the 16 odd double precision registers */
 	EX	sdc1 $f1, SC_FPREGS+8(a0)
 	EX	sdc1 $f3, SC_FPREGS+24(a0)
@@ -74,8 +74,8 @@
 	EX	sdc1 $f28, SC_FPREGS+224(a0)
 	EX	sdc1 $f30, SC_FPREGS+240(a0)
 	EX	sw t1, SC_FPC_CSR(a0)
-	cfc1	t0,$0				# implementation/version
-	EX	sw t0,SC_FPC_EIR(a0)
+	cfc1	t0, $0				# implementation/version
+	EX	sw t0, SC_FPC_EIR(a0)
 
 	jr	ra
 	 li	v0, 0					# success
@@ -92,8 +92,8 @@
  */
 LEAF(restore_fp_context)
 	mfc0	t1, CP0_STATUS
-	sll	t0,t1,5
-	bgez	t0,1f
+	sll	t0, t1,5
+	bgez	t0, 1f
 	 EX	lw t0, SC_FPC_CSR(a0)
 
 	/* Restore the 16 odd double precision registers only
@@ -136,14 +136,13 @@
 	EX	ldc1 $f26, SC_FPREGS+208(a0)
 	EX	ldc1 $f28, SC_FPREGS+224(a0)
 	EX	ldc1 $f30, SC_FPREGS+240(a0)
-	ctc1	t0,fcr31
+	ctc1	t0, fcr31
 	jr	ra
 	 li	v0, 0					# success
 	END(restore_fp_context)
-	.set	reorder
 
 	.type	fault@function
 	.ent	fault
-fault:	li	v0, -EFAULT
-	jr	ra
+fault:	jr	ra
+	 li	v0, -EFAULT				# failure
 	.end	fault
diff -BurPX /bigdisk/dl/src/dontdiff linux-orig/arch/mips64/kernel/scall_64.S linux/arch/mips64/kernel/scall_64.S
--- linux-orig/arch/mips64/kernel/scall_64.S	Tue Sep  5 03:13:01 2000
+++ linux/arch/mips64/kernel/scall_64.S	Wed May 23 23:39:56 2001
@@ -131,217 +132,217 @@
 	END(handle_sys64)
 
 sys_call_table:
-	PTR	sys_syscall				/* 4000 */
+	PTR	sys_syscall				/* 5000 */
 	PTR	sys_exit
 	PTR	sys_fork
 	PTR	sys_read
 	PTR	sys_write
-	PTR	sys_open				/* 4005 */
+	PTR	sys_open				/* 5005 */
 	PTR	sys_close
 	PTR	sys_waitpid
 	PTR	sys_creat
 	PTR	sys_link
-	PTR	sys_unlink				/* 4010 */
+	PTR	sys_unlink				/* 5010 */
 	PTR	sys_execve
 	PTR	sys_chdir
 	PTR	sys_time
 	PTR	sys_mknod
-	PTR	sys_chmod				/* 4015 */
+	PTR	sys_chmod				/* 5015 */
 	PTR	sys_lchown
 	PTR	sys_ni_syscall
 	PTR	sys_stat
 	PTR	sys_lseek
-	PTR	sys_getpid				/* 4020 */
+	PTR	sys_getpid				/* 5020 */
 	PTR	sys_mount
 	PTR	sys_oldumount
 	PTR	sys_setuid
 	PTR	sys_getuid
-	PTR	sys_stime				/* 4025 */
+	PTR	sys_stime				/* 5025 */
 	PTR	sys_ni_syscall		/* ptrace */
 	PTR	sys_alarm
 	PTR	sys_fstat
 	PTR	sys_pause
-	PTR	sys_utime				/* 4030 */
+	PTR	sys_utime				/* 5030 */
 	PTR	sys_ni_syscall
 	PTR	sys_ni_syscall
 	PTR	sys_access
 	PTR	sys_nice
-	PTR	sys_ni_syscall				/* 4035 */
+	PTR	sys_ni_syscall				/* 5035 */
 	PTR	sys_sync
 	PTR	sys_kill
 	PTR	sys_rename
 	PTR	sys_mkdir
-	PTR	sys_rmdir				/* 4040 */
+	PTR	sys_rmdir				/* 5040 */
 	PTR	sys_dup
 	PTR	sys_pipe
 	PTR	sys_times
 	PTR	sys_ni_syscall
-	PTR	sys_brk					/* 4045 */
+	PTR	sys_brk					/* 5045 */
 	PTR	sys_setgid
 	PTR	sys_getgid
 	PTR	sys_ni_syscall		/* was signal	2 */
 	PTR	sys_geteuid
-	PTR	sys_getegid				/* 4050 */
+	PTR	sys_getegid				/* 5050 */
 	PTR	sys_acct
 	PTR	sys_umount
 	PTR	sys_ni_syscall
 	PTR	sys_ioctl
-	PTR	sys_fcntl				/* 4055 */
+	PTR	sys_fcntl				/* 5055 */
 	PTR	sys_ni_syscall
 	PTR	sys_setpgid
 	PTR	sys_ni_syscall
 	PTR	sys_ni_syscall
-	PTR	sys_umask				/* 4060 */
+	PTR	sys_umask				/* 5060 */
 	PTR	sys_chroot
 	PTR	sys_ustat
 	PTR	sys_dup2
 	PTR	sys_getppid
-	PTR	sys_getpgrp				/* 4065 */
+	PTR	sys_getpgrp				/* 5065 */
 	PTR	sys_setsid
 	PTR	sys_sigaction
 	PTR	sys_sgetmask
 	PTR	sys_ssetmask
-	PTR	sys_setreuid				/* 4070 */
+	PTR	sys_setreuid				/* 5070 */
 	PTR	sys_setregid
 	PTR	sys_sigsuspend
 	PTR	sys_sigpending
 	PTR	sys_sethostname
-	PTR	sys_setrlimit				/* 4075 */
+	PTR	sys_setrlimit				/* 5075 */
 	PTR	sys_getrlimit
 	PTR	sys_getrusage
 	PTR	sys_gettimeofday
 	PTR	sys_settimeofday
-	PTR	sys_getgroups				/* 4080 */
+	PTR	sys_getgroups				/* 5080 */
 	PTR	sys_setgroups
 	PTR	sys_ni_syscall			/* old_select */
 	PTR	sys_symlink
 	PTR	sys_lstat
-	PTR	sys_readlink				/* 4085 */
+	PTR	sys_readlink				/* 5085 */
 	PTR	sys_uselib
 	PTR	sys_swapon
 	PTR	sys_reboot
 	PTR	sys_ni_syscall			/* old_readdir */
-	PTR	sys_mmap				/* 4090 */
+	PTR	sys_mmap				/* 5090 */
 	PTR	sys_munmap
 	PTR	sys_truncate
 	PTR	sys_ftruncate
 	PTR	sys_fchmod
-	PTR	sys_fchown				/* 4095 */
+	PTR	sys_fchown				/* 5095 */
 	PTR	sys_getpriority
 	PTR	sys_setpriority
 	PTR	sys_ni_syscall
 	PTR	sys_statfs
-	PTR	sys_fstatfs				/* 4100 */
+	PTR	sys_fstatfs				/* 5100 */
 	PTR	sys_ni_syscall		/* sys_ioperm */
 	PTR	sys_socketcall
 	PTR	sys_syslog
 	PTR	sys_setitimer
-	PTR	sys_getitimer				/* 4105 */
+	PTR	sys_getitimer				/* 5105 */
 	PTR	sys_newstat
 	PTR	sys_newlstat
 	PTR	sys_newfstat
 	PTR	sys_ni_syscall
-	PTR	sys_ni_syscall		/* sys_ioperm  *//* 4110 */
+	PTR	sys_ni_syscall		/* sys_ioperm  *//* 5110 */
 	PTR	sys_vhangup
 	PTR	sys_ni_syscall		/* was sys_idle	 */
 	PTR	sys_ni_syscall		/* sys_vm86 */
 	PTR	sys_wait4
-	PTR	sys_swapoff				/* 4115 */
+	PTR	sys_swapoff				/* 5115 */
 	PTR	sys_sysinfo
 	PTR	sys_ipc
 	PTR	sys_fsync
 	PTR	sys_sigreturn
-	PTR	sys_clone				/* 4120 */
+	PTR	sys_clone				/* 5120 */
 	PTR	sys_setdomainname
 	PTR	sys_newuname
 	PTR	sys_ni_syscall		/* sys_modify_ldt */
 	PTR	sys_adjtimex
-	PTR	sys_mprotect				/* 4125 */
+	PTR	sys_mprotect				/* 5125 */
 	PTR	sys_sigprocmask
 	PTR	sys_create_module
 	PTR	sys_init_module
 	PTR	sys_delete_module
-	PTR	sys_get_kernel_syms 			/* 4130 */
+	PTR	sys_get_kernel_syms 			/* 5130 */
 	PTR	sys_quotactl
 	PTR	sys_getpgid
 	PTR	sys_fchdir
 	PTR	sys_bdflush
-	PTR	sys_sysfs				/* 4135 */
+	PTR	sys_sysfs				/* 5135 */
 	PTR	sys_personality
 	PTR	sys_ni_syscall		/* for afs_syscall */
 	PTR	sys_setfsuid
 	PTR	sys_setfsgid
-	PTR	sys_llseek				/* 4140 */
+	PTR	sys_llseek				/* 5140 */
 	PTR	sys_getdents
 	PTR	sys_select
 	PTR	sys_flock
 	PTR	sys_msync
-	PTR	sys_readv				/* 4145 */
+	PTR	sys_readv				/* 5145 */
 	PTR	sys_writev
 	PTR	sys_cacheflush
 	PTR	sys_cachectl
 	PTR	sys_sysmips
-	PTR	sys_ni_syscall				/* 4150 */
+	PTR	sys_ni_syscall				/* 5150 */
 	PTR	sys_getsid
 	PTR	sys_fdatasync
 	PTR	sys_sysctl
 	PTR	sys_mlock
-	PTR	sys_munlock				/* 4155 */
+	PTR	sys_munlock				/* 5155 */
 	PTR	sys_mlockall
 	PTR	sys_munlockall
 	PTR	sys_sched_setparam
 	PTR	sys_sched_getparam
-	PTR	sys_sched_setscheduler			/* 4160 */
+	PTR	sys_sched_setscheduler			/* 5160 */
 	PTR	sys_sched_getscheduler
 	PTR	sys_sched_yield
 	PTR	sys_sched_get_priority_max
 	PTR	sys_sched_get_priority_min
-	PTR	sys_sched_rr_get_interval		/* 4165 */
+	PTR	sys_sched_rr_get_interval		/* 5165 */
 	PTR	sys_nanosleep
 	PTR	sys_mremap
 	PTR	sys_accept
 	PTR	sys_bind
-	PTR	sys_connect				/* 4170 */
+	PTR	sys_connect				/* 5170 */
 	PTR	sys_getpeername
 	PTR	sys_getsockname
 	PTR	sys_getsockopt
 	PTR	sys_listen
-	PTR	sys_recv				/* 4175 */
+	PTR	sys_recv				/* 5175 */
 	PTR	sys_recvfrom
 	PTR	sys_recvmsg
 	PTR	sys_send
 	PTR	sys_sendmsg
-	PTR	sys_sendto				/* 4180 */
+	PTR	sys_sendto				/* 5180 */
 	PTR	sys_setsockopt
 	PTR	sys_shutdown
 	PTR	sys_socket
 	PTR	sys_socketpair
-	PTR	sys_setresuid				/* 4185 */
+	PTR	sys_setresuid				/* 5185 */
 	PTR	sys_getresuid
 	PTR	sys_query_module
 	PTR	sys_poll
 	PTR	sys_nfsservctl
-	PTR	sys_setresgid				/* 4190 */
+	PTR	sys_setresgid				/* 5190 */
 	PTR	sys_getresgid
 	PTR	sys_prctl
 	PTR	sys_rt_sigreturn
 	PTR	sys_rt_sigaction
-	PTR	sys_rt_sigprocmask 			/* 4195 */
+	PTR	sys_rt_sigprocmask 			/* 5195 */
 	PTR	sys_rt_sigpending
 	PTR	sys_rt_sigtimedwait
 	PTR	sys_rt_sigqueueinfo
 	PTR	sys_rt_sigsuspend
-	PTR	sys_pread				/* 4200 */
+	PTR	sys_pread				/* 5200 */
 	PTR	sys_pwrite
 	PTR	sys_chown
 	PTR	sys_getcwd
 	PTR	sys_capget
-	PTR	sys_capset				/* 4205 */
+	PTR	sys_capset				/* 5205 */
 	PTR	sys_sigaltstack
 	PTR	sys_sendfile
 	PTR	sys_ni_syscall
 	PTR	sys_ni_syscall
-	PTR	sys_pivot_root				/* 4210 */
+	PTR	sys_pivot_root				/* 5210 */
 	PTR	sys_mincore
 	PTR	sys_madvise
 	PTR	sys_getdents64
diff -BurPX /bigdisk/dl/src/dontdiff linux-orig/arch/mips64/kernel/setup.c linux/arch/mips64/kernel/setup.c
--- linux-orig/arch/mips64/kernel/setup.c	Tue Mar 20 00:02:37 2001
+++ linux/arch/mips64/kernel/setup.c	Wed May 23 23:39:56 2001
@@ -150,7 +154,7 @@
 	bootmem_init ();
 #endif
 
-	strncpy (command_line, arcs_cmdline, CL_SIZE);
+	strncpy(command_line, arcs_cmdline, CL_SIZE);
 	memcpy(saved_command_line, command_line, CL_SIZE);
 	saved_command_line[CL_SIZE-1] = '\0';
 
diff -BurPX /bigdisk/dl/src/dontdiff linux-orig/arch/mips64/mm/andes.c linux/arch/mips64/mm/andes.c
--- linux-orig/arch/mips64/mm/andes.c	Thu Nov 30 22:09:18 2000
+++ linux/arch/mips64/mm/andes.c	Wed May 23 23:39:56 2001
@@ -284,8 +284,8 @@
 
 	if((pid != (CPU_CONTEXT(smp_processor_id(), vma->vm_mm) & 0xff)) ||
 	   (CPU_CONTEXT(smp_processor_id(), vma->vm_mm) == 0)) {
-		printk("update_mmu_cache: Wheee, bogus tlbpid mmpid=%d 
-			tlbpid=%d\n", (int) (CPU_CONTEXT(smp_processor_id(), 
+		printk("update_mmu_cache: Wheee, bogus tlbpid mmpid=%d "
+			"tlbpid=%d\n", (int) (CPU_CONTEXT(smp_processor_id(),
 			vma->vm_mm) & 0xff), pid);
 	}
 
diff -BurPX /bigdisk/dl/src/dontdiff linux-orig/arch/mips64/mm/init.c linux/arch/mips64/mm/init.c
--- linux-orig/arch/mips64/mm/init.c	Thu Apr  5 20:25:43 2001
+++ linux/arch/mips64/mm/init.c	Wed May 23 23:39:56 2001
@@ -119,7 +119,7 @@
 }
 
 /*
- * We have upto 8 empty zeroed pages so we can map one of the right colour
+ * We have up to 8 empty zeroed pages so we can map one of the right colour
  * when needed.  This is necessary only on R4000 / R4400 SC and MC versions
  * where we have to avoid VCED / VECI exceptions for good performance at
  * any price.  Since page is never written to after the initialization we
@@ -201,7 +201,7 @@
         }
 }
 
-void bootmem_init (void) {
+void bootmem_init(void) {
 #ifdef CONFIG_BLK_DEV_INITRD
 	unsigned long tmp;
 	unsigned long *initrd_header;
diff -BurPX /bigdisk/dl/src/dontdiff linux-orig/arch/mips64/sgi-ip22/ip22-mc.c linux/arch/mips64/sgi-ip22/ip22-mc.c
--- linux-orig/arch/mips64/sgi-ip22/ip22-mc.c	Tue Mar 20 00:02:37 2001
+++ linux/arch/mips64/sgi-ip22/ip22-mc.c	Wed May 23 23:39:56 2001
@@ -3,7 +3,7 @@
  * License.  See the file "COPYING" in the main directory of this archive
  * for more details.
  *
- * indy_mc.c: Routines for manipulating the INDY memory controller.
+ * ip22-mc.c: Routines for manipulating the INDY memory controller.
  *
  * Copyright (C) 1996 David S. Miller ([email-masked])
  * Copyright (C) 2001 Ralf Baechle ([email-masked])
diff -BurPX /bigdisk/dl/src/dontdiff linux-orig/arch/mips64/sgi-ip22/ip22-sc.c linux/arch/mips64/sgi-ip22/ip22-sc.c
--- linux-orig/arch/mips64/sgi-ip22/ip22-sc.c	Tue Mar 20 00:02:37 2001
+++ linux/arch/mips64/sgi-ip22/ip22-sc.c	Wed May 23 23:39:56 2001
@@ -29,14 +29,14 @@
 
 static inline void indy_sc_wipe(unsigned long first, unsigned long last)
 {
-	__asm__ __volatile__("
-		.set	noreorder
-		or	%0, %4		# first line to flush
-		or	%1, %4		# last line to flush
-1:		sw	$0, 0(%0)
-		bne	%0, %1, 1b
-		daddu	%0, 32
-		.set reorder"
+	__asm__ __volatile__(
+		"\t.set	noreorder\n\t"
+		"or	%0, %4		# first line to flush\n\t"
+		"or	%1, %4		# last line to flush\n"
+	"1:	sw	$0, 0(%0)\n\t"
+		"bne	%0, %1, 1b\n\t"
+		"daddu	%0, 32\n\t"
+		".set reorder"
 		: "=r" (first), "=r" (last)
 		: "0" (first), "1" (last), "r" (0x9000000080000000)
 		: "$1");
diff -BurPX /bigdisk/dl/src/dontdiff linux-orig/include/asm-mips/sgialib.h linux/include/asm-mips/sgialib.h
--- linux-orig/include/asm-mips/sgialib.h	Tue Mar 20 00:03:16 2001
+++ linux/include/asm-mips/sgialib.h	Wed May 23 23:39:56 2001
@@ -64,9 +64,9 @@
  */
 extern void prom_identify_arch(void);
 
-/* Environemt variable routines. */
+/* Environment variable routines. */
 extern PCHAR ArcGetEnvironmentVariable(CHAR *name);
-extern LONG SetEnvironmentVariable(PCHAR name, PCHAR value);
+extern LONG ArcSetEnvironmentVariable(PCHAR name, PCHAR value);
 
 /* ARCS command line acquisition and parsing. */
 extern char *prom_getcmdline(void);
diff -BurPX /bigdisk/dl/src/dontdiff linux-orig/include/asm-mips64/asm.h linux/include/asm-mips64/asm.h
--- linux-orig/include/asm-mips64/asm.h	Tue Jan 18 00:32:47 2000
+++ linux/include/asm-mips64/asm.h	Wed May 23 23:39:56 2001
@@ -94,7 +94,7 @@
 		TEXT(msg)
 
 /*
- * Print formated string
+ * Print formatted string
  */
 #define PRINT(string)                                   \
 		.set	push;				\
@@ -105,7 +105,7 @@
 		TEXT(string)
 
 /*
- * Print formated string
+ * Print formatted string
  */
 #define PROM_PRINT(string)                              \
 		.set	push;				\
diff -BurPX /bigdisk/dl/src/dontdiff linux-orig/include/asm-mips64/bootinfo.h linux/include/asm-mips64/bootinfo.h
--- linux-orig/include/asm-mips64/bootinfo.h	Tue Mar 20 00:03:16 2001
+++ linux/include/asm-mips64/bootinfo.h	Wed May 23 23:39:56 2001
@@ -88,7 +88,7 @@
 /*
  * Valid machtype for group SGI
  */
-#define MACH_SGI_INDY		0	/* R4?K and R5K Indy workstaions */
+#define MACH_SGI_INDY		0	/* R4?K and R5K Indy workstations */
 #define MACH_SGI_CHALLENGE_S	1       /* The Challenge S server */
 #define MACH_SGI_INDIGO2	2	/* The Indigo2 system */
 #define MACH_SGI_IP27		3	/* Origin 200, Origin 2000, Onyx 2 */
diff -BurPX /bigdisk/dl/src/dontdiff linux-orig/include/asm-mips64/checksum.h linux/include/asm-mips64/checksum.h
--- linux-orig/include/asm-mips64/checksum.h	Tue Mar  7 16:45:42 2000
+++ linux/include/asm-mips64/checksum.h	Wed May 23 23:39:56 2001
@@ -70,15 +70,15 @@
 static inline unsigned short int
 csum_fold(unsigned int sum)
 {
-	__asm__("
-	.set	noat            
-	sll	$1, %0, 16
-	addu	%0, $1
-	sltu	$1, %0, $1
-	srl	%0, %0, 16
-	addu	%0, $1
-	xori	%0, 0xffff
-	.set	at"
+	__asm__(
+"	.set	noat\n"
+"	sll	$1, %0, 16\n"
+"	addu	%0, $1\n"
+"	sltu	$1, %0, $1\n"
+"	srl	%0, %0, 16\n"
+"	addu	%0, $1\n"
+"	xori	%0, 0xffff\n"
+"	.set	at"
 	: "=r" (sum)
 	: "0" (sum)
 	: "$1");
@@ -103,36 +103,36 @@
 	 * This is for 32-bit processors ...  but works just fine for 64-bit
 	 * processors for now ...  XXX
 	 */
-	__asm__ __volatile__("
-	.set	noreorder
-	.set	noat
-	lw	%0, (%1)
-	subu	%2, 4
-	dsll	%2, 2
-
-	lw	%3, 4(%1)
-	daddu	%2, %1
-	addu	%0, %3
-	sltu	$1, %0, %3
-	lw	%3, 8(%1)
-	addu	%0, $1
-	addu	%0, %3
-	sltu	$1, %0, %3
-	lw	%3, 12(%1)
-	addu	%0, $1
-	addu	%0, %3
-	sltu	$1, %0, %3
-	addu	%0, $1
-
-1:	lw	%3, 16(%1)
-	daddiu	%1, 4
-	addu	%0, %3
-	sltu	$1, %0, %3
-	bne	%2, %1, 1b
-	 addu	%0, $1
-
-2:	.set	at
-	.set	reorder"
+	__asm__ __volatile__(
+"	.set	noreorder\n"
+"	.set	noat\n"
+"	lw	%0, (%1)\n"
+"	subu	%2, 4\n"
+"	dsll	%2, 2\n"
+"\n"
+"	lw	%3, 4(%1)\n"
+"	daddu	%2, %1\n"
+"	addu	%0, %3\n"
+"	sltu	$1, %0, %3\n"
+"	lw	%3, 8(%1)\n"
+"	addu	%0, $1\n"
+"	addu	%0, %3\n"
+"	sltu	$1, %0, %3\n"
+"	lw	%3, 12(%1)\n"
+"	addu	%0, $1\n"
+"	addu	%0, %3\n"
+"	sltu	$1, %0, %3\n"
+"	addu	%0, $1\n"
+"\n"
+"1:	lw	%3, 16(%1)\n"
+"	daddiu	%1, 4\n"
+"	addu	%0, %3\n"
+"	sltu	$1, %0, %3\n"
+"	bne	%2, %1, 1b\n"
+"	 addu	%0, $1\n"
+"\n"
+"2:	.set	at\n"
+"	.set	reorder"
 	: "=&r" (sum), "=&r" (iph), "=&r" (ihl), "=&r" (dummy)
 	: "1" (iph), "2" (ihl)
 	: "$1");
@@ -148,15 +148,15 @@
 csum_tcpudp_nofold(unsigned long saddr, unsigned long daddr,
                    unsigned short len, unsigned short proto, unsigned int sum)
 {
-    __asm__("
-	.set	noat
-	daddu	%0, %2
-	daddu	%0, %3
-	daddu	%0, %4
-	dsll32	$1, %0, 0
-	daddu	%0, $1		# never results in an overflow
-	dsrl32	%0, %0, 0
-	.set	at"
+    __asm__(
+"	.set	noat\n"
+"	daddu	%0, %2\n"
+"	daddu	%0, %3\n"
+"	daddu	%0, %4\n"
+"	dsll32	$1, %0, 0\n"
+"	daddu	%0, $1		# never results in an overflow\n"
+"	dsrl32	%0, %0, 0\n"
+"	.set	at"
 	: "=r" (sum)
 	: "0" (sum), "r"(saddr), "r" (daddr),
 #ifdef __MIPSEL__
@@ -195,56 +195,56 @@
 csum_ipv6_magic(struct in6_addr *saddr, struct in6_addr *daddr, __u32 len,
                 unsigned short proto, unsigned int sum) 
 {
-	__asm__("
-		.set	noreorder
-		.set	noat
-		addu	%0, %5		# proto (long in network byte order)
-		sltu	$1, %0, %5
-		addu	%0, $1
-
-		addu	%0, %6		# csum
-		sltu	$1, %0, %6
-		lw	%1, 0(%2)	# four words source address
-		addu	%0, $1
-		addu	%0, %1
-		sltu	$1, %0, $1
-
-		lw	%1, 4(%2)
-		addu	%0, $1
-		addu	%0, %1
-		sltu	$1, %0, $1
-
-		lw	%1, 8(%2)
-		addu	%0, $1
-		addu	%0, %1
-		sltu	$1, %0, $1
-
-		lw	%1, 12(%2)
-		addu	%0, $1
-		addu	%0, %1
-		sltu	$1, %0, $1
-
-		lw	%1, 0(%3)
-		addu	%0, $1
-		addu	%0, %1
-		sltu	$1, %0, $1
-
-		lw	%1, 4(%3)
-		addu	%0, $1
-		addu	%0, %1
-		sltu	$1, %0, $1
-
-		lw	%1, 8(%3)
-		addu	%0, $1
-		addu	%0, %1
-		sltu	$1, %0, $1
-
-		lw	%1, 12(%3)
-		addu	%0, $1
-		addu	%0, %1
-		sltu	$1, %0, $1
-		.set	noat
-		.set	noreorder"
+	__asm__(
+"		.set	noreorder\n"
+"		.set	noat\n"
+"		addu	%0, %5		# proto (long in network byte order)\n"
+"		sltu	$1, %0, %5\n"
+"		addu	%0, $1\n"
+"\n"
+"		addu	%0, %6		# csum\n"
+"		sltu	$1, %0, %6\n"
+"		lw	%1, 0(%2)	# four words source address\n"
+"		addu	%0, $1\n"
+"		addu	%0, %1\n"
+"		sltu	$1, %0, $1\n"
+"\n"
+"		lw	%1, 4(%2)\n"
+"		addu	%0, $1\n"
+"		addu	%0, %1\n"
+"		sltu	$1, %0, $1\n"
+"\n"
+"		lw	%1, 8(%2)\n"
+"		addu	%0, $1\n"
+"		addu	%0, %1\n"
+"		sltu	$1, %0, $1\n"
+"\n"
+"		lw	%1, 12(%2)\n"
+"		addu	%0, $1\n"
+"		addu	%0, %1\n"
+"		sltu	$1, %0, $1\n"
+"\n"
+"		lw	%1, 0(%3)\n"
+"		addu	%0, $1\n"
+"		addu	%0, %1\n"
+"		sltu	$1, %0, $1\n"
+"\n"
+"		lw	%1, 4(%3)\n"
+"		addu	%0, $1\n"
+"		addu	%0, %1\n"
+"		sltu	$1, %0, $1\n"
+"\n"
+"		lw	%1, 8(%3)\n"
+"		addu	%0, $1\n"
+"		addu	%0, %1\n"
+"		sltu	$1, %0, $1\n"
+"\n"
+"		lw	%1, 12(%3)\n"
+"		addu	%0, $1\n"
+"		addu	%0, %1\n"
+"		sltu	$1, %0, $1\n"
+"		.set	noat\n"
+"		.set	noreorder"
 		: "=r" (sum), "=r" (proto)
 		: "r" (saddr), "r" (daddr),
 		  "0" (htonl(len)), "1" (htonl(proto)), "r"(sum)
diff -BurPX /bigdisk/dl/src/dontdiff linux-orig/include/asm-mips64/cpu.h linux/include/asm-mips64/cpu.h
--- linux-orig/include/asm-mips64/cpu.h	Mon Mar  5 00:56:30 2001
+++ linux/include/asm-mips64/cpu.h	Wed May 23 23:39:56 2001
@@ -22,14 +22,13 @@
 #define PRID_IMP_R4000    0x0400
 #define PRID_IMP_R6000A   0x0600
 #define PRID_IMP_R10000   0x0900
-#define PRID_IMP_R12000   0x0e00
 #define PRID_IMP_R4300    0x0b00
 #define PRID_IMP_R12000   0x0e00
 #define PRID_IMP_R8000    0x1000
 #define PRID_IMP_R4600    0x2000
 #define PRID_IMP_R4700    0x2100
 #define PRID_IMP_R4640    0x2200
-#define PRID_IMP_R4650    0x2200		/* Same as R4640 */
+#define PRID_IMP_R4650    0x2200	/* Same as R4640 */
 #define PRID_IMP_R5000    0x2300
 #define PRID_IMP_SONIC    0x2400
 #define PRID_IMP_MAGIC    0x2500
diff -BurPX /bigdisk/dl/src/dontdiff linux-orig/include/asm-mips64/mipsregs.h linux/include/asm-mips64/mipsregs.h
--- linux-orig/include/asm-mips64/mipsregs.h	Mon Oct  2 22:44:46 2000
+++ linux/include/asm-mips64/mipsregs.h	Wed May 23 23:39:56 2001
@@ -246,7 +246,7 @@
 #define  CAUSEF_BD		(1   << 31)
 
 /*
- * Bits in the coprozessor 0 config register.
+ * Bits in the coprocessor 0 config register.
  */
 #define CONF_CM_CACHABLE_NO_WA		0
 #define CONF_CM_CACHABLE_WA		1
@@ -265,7 +265,7 @@
  * R10000 performance counter definitions.
  *
  * FIXME: The R10000 performance counter opens a nice way to implement CPU
- *        time accounting with a precission of one cycle.  I don't have
+ *        time accounting with a precision of one cycle.  I don't have
  *        R10000 silicon but just a manual, so ...
  */
 
diff -BurPX /bigdisk/dl/src/dontdiff linux-orig/include/asm-mips64/sgi/sgint23.h linux/include/asm-mips64/sgi/sgint23.h
--- linux-orig/include/asm-mips64/sgi/sgint23.h	Mon Nov 27 00:52:51 2000
+++ linux/include/asm-mips64/sgi/sgint23.h	Wed May 23 23:39:56 2001
@@ -170,7 +170,7 @@
 #endif
 #define INT2_TCLEAR_T0CLR      0x1        /* Clear timer0 IRQ */
 #define INT2_TCLEAR_T1CLR      0x2        /* Clear timer1 IRQ */
-/* I am guesing there are only two unused registers here 
+/* I am guessing there are only two unused registers here 
  * but I could be wrong...			- andrewb
  */
 /*	u32 _unused[3]; */
diff -BurPX /bigdisk/dl/src/dontdiff linux-orig/include/asm-mips64/sgialib.h linux/include/asm-mips64/sgialib.h
--- linux-orig/include/asm-mips64/sgialib.h	Tue Mar 20 00:03:16 2001
+++ linux/include/asm-mips64/sgialib.h	Wed May 23 23:45:29 2001
@@ -90,9 +89,9 @@
  */
 extern void prom_identify_arch(void);
 
-/* Environemt variable routines. */
+/* Environment variable routines. */
 extern PCHAR ArcGetEnvironmentVariable(PCHAR name);
-extern LONG SetEnvironmentVariable(PCHAR name, PCHAR value);
+extern LONG ArcSetEnvironmentVariable(PCHAR name, PCHAR value);
 
 /* ARCS command line acquisition and parsing. */
 extern char *prom_getcmdline(void);
@@ -120,11 +119,11 @@
 extern long prom_exec(char *name, long argc, char **argv, char **envp);
 
 /* Misc. routines. */
-extern void prom_halt(VOID) __attribute__((noreturn));
-extern void prom_powerdown(VOID) __attribute__((noreturn));
-extern void prom_restart(VOID) __attribute__((noreturn));
+extern VOID prom_halt(VOID) __attribute__((noreturn));
+extern VOID prom_powerdown(VOID) __attribute__((noreturn));
+extern VOID prom_restart(VOID) __attribute__((noreturn));
 extern VOID ArcReboot(VOID) __attribute__((noreturn));
-extern VOID ArcEnterInteractiveMode(void) __attribute__((noreturn));
+extern VOID ArcEnterInteractiveMode(VOID) __attribute__((noreturn));
 extern long prom_cfgsave(VOID);
 extern struct linux_sysid *prom_getsysid(VOID);
 extern VOID ArcFlushAllCaches(VOID);
diff -BurPX /bigdisk/dl/src/dontdiff linux-orig/include/asm-mips64/sgiarcs.h linux/include/asm-mips64/sgiarcs.h
--- linux-orig/include/asm-mips64/sgiarcs.h	Tue Jan 18 00:32:47 2000
+++ linux/include/asm-mips64/sgiarcs.h	Wed May 23 23:45:29 2001
@@ -143,7 +143,7 @@
 
 /* ARCS virtual dirents. */
 struct linux_vdirent {
-	unsigned long namelen;
+	ULONG namelen;
 	unsigned char attr;
 	char fname[32]; /* XXX imperical, should be a define */
 };
@@ -177,38 +177,38 @@
 	struct linux_bigint   begin;
 	struct linux_bigint   end;
 	struct linux_bigint   cur;
-	enum linux_devtypes dtype;
+	enum linux_devtypes   dtype;
 	unsigned long         namelen;
 	unsigned char         attr;
 	char                  name[32]; /* XXX imperical, should be define */
 };
 
-/* This describes the vector containing fuction pointers to the ARC
+/* This describes the vector containing function pointers to the ARC
    firmware functions.  */
 struct linux_romvec {
-	LONG load;			/* Load an executable image. */
-	LONG invoke;			/* Invoke a standalong image. */
-	LONG exec;			/* Load and begin execution of a
+	LONG	load;			/* Load an executable image. */
+	LONG	invoke;			/* Invoke a standalong image. */
+	LONG	exec;			/* Load and begin execution of a
 					   standalone image. */
-	LONG halt;			/* Halt the machine. */
-	LONG pdown;			/* Power down the machine. */
-	LONG restart;			/* XXX soft reset??? */
-	LONG reboot;			/* Reboot the machine. */
-	LONG imode;			/* Enter PROM interactive mode. */
-	LONG _unused1;			/* Was ReturnFromMain(). */
+	LONG	halt;			/* Halt the machine. */
+	LONG	pdown;			/* Power down the machine. */
+	LONG	restart;		/* XXX soft reset??? */
+	LONG	reboot;			/* Reboot the machine. */
+	LONG	imode;			/* Enter PROM interactive mode. */
+	LONG	_unused1;		/* Was ReturnFromMain(). */
 
 	/* PROM device tree interface. */
-	LONG next_component;
-	LONG child_component;
-	LONG parent_component;
-	LONG component_data;
-	LONG child_add;
-	LONG comp_del;
-	LONG component_by_path;
+	LONG	next_component;
+	LONG	child_component;
+	LONG	parent_component;
+	LONG	component_data;
+	LONG	child_add;
+	LONG	comp_del;
+	LONG	component_by_path;
 
 	/* Misc. stuff. */
-	LONG cfg_save;
-	LONG get_sysid;
+	LONG	cfg_save;
+	LONG	get_sysid;
 
 	/* Probing for memory. */
 	LONG	get_mdesc;
diff -BurPX /bigdisk/dl/src/dontdiff linux-orig/include/asm-mips64/system.h linux/include/asm-mips64/system.h
--- linux-orig/include/asm-mips64/system.h	Thu Oct 26 03:18:01 2000
+++ linux/include/asm-mips64/system.h	Wed May 23 23:39:57 2001
@@ -33,7 +33,7 @@
 }
 
 /*
- * For cli() we have to insert nops to make shure that the new value
+ * For cli() we have to insert nops to make sure that the new value
  * has actually arrived in the status register before the end of this
  * macro.
  * R4000/R4400 need three nops, the R4600 two nops and the R10000 needs
Binary files linux-orig/vmlinux.64 and linux/vmlinux.64 differ

---

From: Thiemo Seufer <[email-masked]>
Date: Fri, 25 May 2001 19:19:34 +0200

Keith M Wesolowski wrote:
>On Thu, May 24, 2001 at 01:10:53AM +0200, Thiemo Seufer wrote:
>
>Could you please make sure that the checksum code matches that from
>mips(32)?

It can't, since it is 64bit. :-)

>In the process of fixing the warnings in that file, ISTR
>Ralf found a bug.

If the mentioned is the handling of 'sum' in csum_tcpudp_nofold,
it's now corrected. I also changed formatting to the usual one.

Thiemo

 
 
-	bgez	t2,1f
-	 cfc1	t1,fcr31
+	bgez	t2, 1f
+	 cfc1	t1, fcr31
 
 	jr	ra
 	 li	v0, 0					# success
@@ -92,8 +92,8 @@
  */
 LEAF(restore_fp_context)
 	mfc0	t1, CP0_STATUS
-	sll	t0,t1,5
-	bgez	t0,1f
+	sll	t0, t1,5
+	bgez	t0, 1f
 	 EX	lw t0, SC_FPC_CSR(a0)

 	.type	fault@function
 	.ent	fault
-fault:	li	v0, -EFAULT
-	jr	ra
+fault:	jr	ra
 
 sys_call_table:

 

 /*
 
+++ linux/arch/mips64/sgi-ip22/ip22-sc.c	Fri May 25 19:14:41 2001
@@ -29,17 +29,17 @@
 
 static inline void indy_sc_wipe(unsigned long first, unsigned long last)
 {
-	__asm__ __volatile__("
-		.set	noreorder
-		or	%0, %4		# first line to flush
-		or	%1, %4		# last line to flush
-1:		sw	$0, 0(%0)
-		bne	%0, %1, 1b
-		daddu	%0, 32
-		.set reorder"
-		: "=r" (first), "=r" (last)
-		: "0" (first), "1" (last), "r" (0x9000000080000000)
-		: "$1");
+	__asm__ __volatile__(
+	".set\tnoreorder\n\t"
+	"or\t%0, %4\t\t\t# first line to flush\n\t"
+	"or\t%1, %4\t\t\t# last line to flush\n"
+	"1:\tsw	$0, 0(%0)\n\t"
+	"bne\t%0, %1, 1b\n\t"
+	"daddu\t%0, 32\n\t"
+	".set reorder"
+	: "=r" (first), "=r" (last)
+	: "0" (first), "1" (last), "r" (0x9000000080000000)
+	: "$1");
 }
 
 static void indy_sc_wback_invalidate(unsigned long addr, unsigned long size)

 
 /*
 
 /*
- * Print formated string
+ * Print formatted string
  */
 #define PROM_PRINT(string)                              \
 		.set	push;				\
diff -BurPX /bigdisk/dl/src/dontdiff linux-orig/include/asm-mips64/bootinfo.h linux/include/asm-mips64/bootinfo.h
--- linux-orig/include/asm-mips64/bootinfo.h	Tue Mar 20 00:03:16 2001
+++ linux/include/asm-mips64/bootinfo.h	Wed May 23 23:39:56 2001
@@ -88,7 +88,7 @@
 /*
  * Valid machtype for group SGI
  */
-#define MACH_SGI_INDY		0	/* R4?K and R5K Indy workstaions */
+#define MACH_SGI_INDY		0	/* R4?K and R5K Indy workstations */
 #define MACH_SGI_CHALLENGE_S	1       /* The Challenge S server */
 #define MACH_SGI_INDIGO2	2	/* The Indigo2 system */
 #define MACH_SGI_IP27		3	/* Origin 200, Origin 2000, Onyx 2 */
--- linux-orig/include/asm-mips/checksum.h	Wed Mar 14 17:12:26 2001
+++ linux/include/asm-mips/checksum.h	Fri May 25 18:30:32 2001
@@ -22,7 +22,7 @@
  *
  * it's best to have buff aligned on a 32-bit boundary
  */
-unsigned int csum_partial(const unsigned char * buff, int len, unsigned int sum);
+unsigned int csum_partial(const unsigned char *buff, int len, unsigned int sum);
 
 /*
  * this is a new version of the above that records errors it finds in *errp,
@@ -41,9 +41,9 @@
  * Copy and checksum to user
  */
 #define HAVE_CSUM_COPY_USER
-extern inline unsigned int
-csum_and_copy_to_user (const char *src, char *dst,
-                       int len, int sum, int *err_ptr)
+extern inline unsigned int csum_and_copy_to_user (const char *src, char *dst,
+						  int len, int sum,
+						  int *err_ptr)
 {
 	sum = csum_partial(src, len, sum);
 
@@ -62,8 +62,9 @@
  * this is obsolete and will go away.
  */
 #define csum_partial_copy_fromuser csum_partial_copy
-unsigned int csum_partial_copy(const char *src, char *dst, int len, unsigned int sum);
-  
+unsigned int csum_partial_copy(const char *src, char *dst, int len,
+			       unsigned int sum);
+
 /*
  *	Fold a partial checksum without adding pseudo headers
  */
@@ -92,7 +93,7 @@
  *	By Jorge Cwik <[email-masked]>, adapted for linux by
  *	Arnt Gulbrandsen.
  */
-static inline unsigned short ip_fast_csum(unsigned char * iph,
+static inline unsigned short ip_fast_csum(unsigned char *iph,
 					  unsigned int ihl)
 {
 	unsigned int sum;
@@ -169,7 +170,7 @@
 #else
 	  "r" (((proto)<<16)+len),
 #endif
-	  "r"(sum)
+	  "r" (sum)
 	: "$1");
 
 	return sum;
@@ -185,7 +186,7 @@
 						   unsigned short proto,
 						   unsigned int sum)
 {
-	return csum_fold(csum_tcpudp_nofold(saddr,daddr,len,proto,sum));
+	return csum_fold(csum_tcpudp_nofold(saddr, daddr, len, proto, sum));
 }
 
 /*
@@ -256,7 +257,7 @@
 	".set\tnoreorder"
 	: "=r" (sum), "=r" (proto)
 	: "r" (saddr), "r" (daddr),
-	  "0" (htonl(len)), "1" (htonl(proto)), "r"(sum)
+	  "0" (htonl(len)), "1" (htonl(proto)), "r" (sum)
 	: "$1");
 
 	return csum_fold(sum);
--- linux-orig/include/asm-mips64/checksum.h	Tue Mar  7 16:45:42 2000
+++ linux/include/asm-mips64/checksum.h	Fri May 25 18:32:35 2001
@@ -1,15 +1,17 @@
-/* $Id: checksum.h,v 1.6 2000/02/18 22:06:19 ralf Exp $
- *
+/*
  * This file is subject to the terms and conditions of the GNU General Public
  * License.  See the file "COPYING" in the main directory of this archive
  * for more details.
  *
  * Copyright (C) 1995, 1996, 1997, 1998, 1999 by Ralf Baechle
  * Copyright (C) 1999 Silicon Graphics, Inc.
+ * Copyright (C) 2001 Thiemo Seufer.
  */
 #ifndef _ASM_CHECKSUM_H
 #define _ASM_CHECKSUM_H
 
+#include <asm/uaccess.h>
+
 /*
  * computes the checksum of a memory block at buff, length len,
  * and adds in "sum" (32-bit)
@@ -22,7 +24,7 @@
  *
  * it's best to have buff aligned on a 32-bit boundary
  */
-unsigned int csum_partial(const unsigned char * buff, int len, unsigned int sum);
+unsigned int csum_partial(const unsigned char *buff, int len, unsigned int sum);
 
 /*
  * this is a new version of the above that records errors it finds in *errp,
@@ -41,9 +43,9 @@
  * Copy and checksum to user
  */
 #define HAVE_CSUM_COPY_USER
-extern inline unsigned int
-csum_and_copy_to_user (const char *src, char *dst,
-                       int len, int sum, int *err_ptr)
+extern inline unsigned int csum_and_copy_to_user (const char *src, char *dst,
+						  int len, int sum,
+						  int *err_ptr)
 {
 	sum = csum_partial(src, len, sum);
 
@@ -62,23 +64,23 @@
  * this is obsolete and will go away.
  */
 #define csum_partial_copy_fromuser csum_partial_copy
-unsigned int csum_partial_copy(const char *src, char *dst, int len, unsigned int sum);
-  
+unsigned int csum_partial_copy(const char *src, char *dst, int len,
+			       unsigned int sum);
+
 /*
  *	Fold a partial checksum without adding pseudo headers
  */
-static inline unsigned short int
-csum_fold(unsigned int sum)
+static inline unsigned short int csum_fold(unsigned int sum)
 {
-	__asm__("
-	.set	noat            
-	sll	$1, %0, 16
-	addu	%0, $1
-	sltu	$1, %0, $1
-	srl	%0, %0, 16
-	addu	%0, $1
-	xori	%0, 0xffff
-	.set	at"
+	__asm__(
+	".set\tnoat\t\t\t# csum_fold\n\t"
+	"sll\t$1,%0,16\n\t"
+	"addu\t%0,$1\n\t"
+	"sltu\t$1,%0,$1\n\t"
+	"srl\t%0,%0,16\n\t"
+	"addu\t%0,$1\n\t"
+	"xori\t%0,0xffff\n\t"
+	".set\tat"
 	: "=r" (sum)
 	: "0" (sum)
 	: "$1");
@@ -93,8 +95,8 @@
  *	By Jorge Cwik <[email-masked]>, adapted for linux by
  *	Arnt Gulbrandsen.
  */
-static inline unsigned short
-ip_fast_csum(unsigned char * iph, unsigned int ihl)
+static inline unsigned short ip_fast_csum(unsigned char *iph,
+					  unsigned int ihl)
 {
 	unsigned int sum;
 	unsigned long dummy;
@@ -103,36 +105,35 @@
 	 * This is for 32-bit processors ...  but works just fine for 64-bit
 	 * processors for now ...  XXX
 	 */
-	__asm__ __volatile__("
-	.set	noreorder
-	.set	noat
-	lw	%0, (%1)
-	subu	%2, 4
-	dsll	%2, 2
-
-	lw	%3, 4(%1)
-	daddu	%2, %1
-	addu	%0, %3
-	sltu	$1, %0, %3
-	lw	%3, 8(%1)
-	addu	%0, $1
-	addu	%0, %3
-	sltu	$1, %0, %3
-	lw	%3, 12(%1)
-	addu	%0, $1
-	addu	%0, %3
-	sltu	$1, %0, %3
-	addu	%0, $1
-
-1:	lw	%3, 16(%1)
-	daddiu	%1, 4
-	addu	%0, %3
-	sltu	$1, %0, %3
-	bne	%2, %1, 1b
-	 addu	%0, $1
+	__asm__ __volatile__(
+	".set\tnoreorder\t\t\t# ip_fast_csum\n\t"
+	".set\tnoat\n\t"
+	"lw\t%0, (%1)\n\t"
+	"subu\t%2, 4\n\t"
+	"dsll\t%2, 2\n\t"
+	"lw\t%3, 4(%1)\n\t"
+	"daddu\t%2, %1\n\t"
+	"addu\t%0, %3\n\t"
+	"sltu\t$1, %0, %3\n\t"
+	"lw\t%3, 8(%1)\n\t"
+	"addu\t%0, $1\n\t"
+	"addu\t%0, %3\n\t"
+	"sltu\t$1, %0, %3\n\t"
+	"lw\t%3, 12(%1)\n\t"
+	"addu\t%0, $1\n\t"
+	"addu\t%0, %3\n\t"
+	"sltu\t$1, %0, %3\n\t"
+	"addu\t%0, $1\n"
+
+	"1:\tlw\t%3, 16(%1)\n\t"
+	"daddiu\t%1, 4\n"
+	"addu\t%0, %3\n\t"
+	"sltu\t$1, %0, %3\n\t"
+	"bne\t%2, %1, 1b\n\t"
+	" addu\t%0, $1\n"
 
-2:	.set	at
-	.set	reorder"
+	"2:\t.set\tat\n\t"
+	".set\treorder"
 	: "=&r" (sum), "=&r" (iph), "=&r" (ihl), "=&r" (dummy)
 	: "1" (iph), "2" (ihl)
 	: "$1");
@@ -144,26 +145,29 @@
  * computes the checksum of the TCP/UDP pseudo-header
  * returns a 16-bit checksum, already complemented
  */
-static inline unsigned long
-csum_tcpudp_nofold(unsigned long saddr, unsigned long daddr,
-                   unsigned short len, unsigned short proto, unsigned int sum)
-{
-    __asm__("
-	.set	noat
-	daddu	%0, %2
-	daddu	%0, %3
-	daddu	%0, %4
-	dsll32	$1, %0, 0
-	daddu	%0, $1		# never results in an overflow
-	dsrl32	%0, %0, 0
-	.set	at"
+static inline unsigned long csum_tcpudp_nofold(unsigned long saddr,
+					       unsigned long daddr,
+					       unsigned short len,
+					       unsigned short proto,
+					       unsigned int sum)
+{
+	__asm__(
+	".set\tnoat\t\t\t# csum_tcpudp_nofold\n\t"
+	"daddu\t%0, %2\n\t"
+	"daddu\t%0, %3\n\t"
+	"daddu\t%0, %4\n\t"
+	"dsll32\t$1, %0, 0\n\t"
+	"daddu\t%0, $1\n\t"
+	"dsrl32\t%0, %0, 0\n\t"
+	".set\tat"
 	: "=r" (sum)
-	: "0" (sum), "r"(saddr), "r" (daddr),
+	: "r" (daddr), "r"(saddr),
 #ifdef __MIPSEL__
-	    "r" ((ntohs(len)<<16)+proto*256)
+	  "r" ((ntohs(len)<<16)+proto*256),
 #else
-	    "r" (((proto)<<16)+len)
+	  "r" (((proto)<<16)+len),
 #endif
+	  "r" (sum)
 	: "$1");
 
 	return sum;
@@ -173,82 +177,85 @@
  * computes the checksum of the TCP/UDP pseudo-header
  * returns a 16-bit checksum, already complemented
  */
-static inline unsigned short int
-csum_tcpudp_magic(unsigned long saddr, unsigned long daddr, unsigned short len,
-                  unsigned short proto, unsigned int sum)
+static inline unsigned short int csum_tcpudp_magic(unsigned long saddr,
+						   unsigned long daddr,
+						   unsigned short len,
+						   unsigned short proto,
+						   unsigned int sum)
 {
-	return csum_fold(csum_tcpudp_nofold(saddr,daddr,len,proto,sum));
+	return csum_fold(csum_tcpudp_nofold(saddr, daddr, len, proto, sum));
 }
 
 /*
  * this routine is used for miscellaneous IP-like checksums, mainly
  * in icmp.c
  */
-static inline unsigned short
-ip_compute_csum(unsigned char * buff, int len)
+static inline unsigned short ip_compute_csum(unsigned char * buff, int len)
 {
 	return csum_fold(csum_partial(buff, len, 0));
 }
 
 #define _HAVE_ARCH_IPV6_CSUM
-static inline unsigned short int
-csum_ipv6_magic(struct in6_addr *saddr, struct in6_addr *daddr, __u32 len,
-                unsigned short proto, unsigned int sum) 
-{
-	__asm__("
-		.set	noreorder
-		.set	noat
-		addu	%0, %5		# proto (long in network byte order)
-		sltu	$1, %0, %5
-		addu	%0, $1
-
-		addu	%0, %6		# csum
-		sltu	$1, %0, %6
-		lw	%1, 0(%2)	# four words source address
-		addu	%0, $1
-		addu	%0, %1
-		sltu	$1, %0, $1
-
-		lw	%1, 4(%2)
-		addu	%0, $1
-		addu	%0, %1
-		sltu	$1, %0, $1
-
-		lw	%1, 8(%2)
-		addu	%0, $1
-		addu	%0, %1
-		sltu	$1, %0, $1
-
-		lw	%1, 12(%2)
-		addu	%0, $1
-		addu	%0, %1
-		sltu	$1, %0, $1
-
-		lw	%1, 0(%3)
-		addu	%0, $1
-		addu	%0, %1
-		sltu	$1, %0, $1
-
-		lw	%1, 4(%3)
-		addu	%0, $1
-		addu	%0, %1
-		sltu	$1, %0, $1
-
-		lw	%1, 8(%3)
-		addu	%0, $1
-		addu	%0, %1
-		sltu	$1, %0, $1
-
-		lw	%1, 12(%3)
-		addu	%0, $1
-		addu	%0, %1
-		sltu	$1, %0, $1
-		.set	noat
-		.set	noreorder"
-		: "=r" (sum), "=r" (proto)
-		: "r" (saddr), "r" (daddr),
-		  "0" (htonl(len)), "1" (htonl(proto)), "r"(sum)
-		: "$1");
+static inline unsigned short int csum_ipv6_magic(struct in6_addr *saddr,
+						 struct in6_addr *daddr,
+						 __u32 len,
+						 unsigned short proto,
+						 unsigned int sum) 
+{
+	__asm__(
+	".set\tnoreorder\t\t\t# csum_ipv6_magic\n\t"
+	".set\tnoat\n\t"
+	"addu\t%0, %5\t\t\t# proto (long in network byte order)\n\t"
+	"sltu\t$1, %0, %5\n\t"
+	"addu\t%0, $1\n\t"
+
+	"addu\t%0, %6\t\t\t# csum\n\t"
+	"sltu\t$1, %0, %6\n\t"
+	"lw\t%1, 0(%2)\t\t\t# four words source address\n\t"
+	"addu\t%0, $1\n\t"
+	"addu\t%0, %1\n\t"
+	"sltu\t$1, %0, $1\n\t"
+
+	"lw\t%1, 4(%2)\n\t"
+	"addu\t%0, $1\n\t"
+	"addu\t%0, %1\n\t"
+	"sltu\t$1, %0, $1\n\t"
+
+	"lw\t%1, 8(%2)\n\t"
+	"addu\t%0, $1\n\t"
+	"addu\t%0, %1\n\t"
+	"sltu\t$1, %0, $1\n\t"
+
+	"lw\t%1, 12(%2)\n\t"
+	"addu\t%0, $1\n\t"
+	"addu\t%0, %1\n\t"
+	"sltu\t$1, %0, $1\n\t"
+
+	"lw\t%1, 0(%3)\n\t"
+	"addu\t%0, $1\n\t"
+	"addu\t%0, %1\n\t"
+	"sltu\t$1, %0, $1\n\t"
+
+	"lw\t%1, 4(%3)\n\t"
+	"addu\t%0, $1\n\t"
+	"addu\t%0, %1\n\t"
+	"sltu\t$1, %0, $1\n\t"
+
+	"lw\t%1, 8(%3)\n\t"
+	"addu\t%0, $1\n\t"
+	"addu\t%0, %1\n\t"
+	"sltu\t$1, %0, $1\n\t"
+
+	"lw\t%1, 12(%3)\n\t"
+	"addu\t%0, $1\n\t"
+	"addu\t%0, %1\n\t"
+	"sltu\t$1, %0, $1\n\t"
+	".set\tnoat\n\t"
+	".set\tnoreorder"
+	: "=r" (sum), "=r" (proto)
+	: "r" (saddr), "r" (daddr),
+	  "0" (htonl(len)), "1" (htonl(proto)), "r" (sum)
+	: "$1");
 
 	return csum_fold(sum);
 }
 
 /*

 
 
 /* Misc. routines. */

 
 
 	/* Misc. stuff. */
-	LONG cfg_save;
-	LONG get_sysid;
+	LONG	cfg_save;
+	LONG	get_sysid;

 /*

---

From: Ralf Baechle <[email-masked]>
Date: Fri, 25 May 2001 16:57:41 -0300

> it's now corrected. I also changed formatting to the usual one.

Applied.

  Ralf