[kernel] r6923 - in dists/trunk/linux-2.6/debian: .

Kyle McMartin kyle at costa.debian.org
Thu Jun 29 13:30:47 UTC 2006


Author: kyle
Date: Thu Jun 29 13:30:46 2006
New Revision: 6923

Modified:
   dists/trunk/linux-2.6/debian/changelog
   dists/trunk/linux-2.6/debian/patches/hppa.patch

Log:
Update hppa patchset to 2.6.17-pa6


Modified: dists/trunk/linux-2.6/debian/changelog
==============================================================================
--- dists/trunk/linux-2.6/debian/changelog	(original)
+++ dists/trunk/linux-2.6/debian/changelog	Thu Jun 29 13:30:46 2006
@@ -22,7 +22,12 @@
   * [m68k] Add m68k-as and m68k-macro patch which allow building with current binutils.
   * [m68k] Disable all subarches but amiga and mac for official linux-images.
 
- -- Christian T. Steigies <cts at debian.org>  Wed, 28 Jun 2006 00:41:00 +0200
+  [ Kyle McMartin ]
+  * [hppa] Update patchset (2.6.17-pa6) from parisc-linux.org.
+    Which fixes relocation errors in modules with 64-bit kernels, and
+    a softlockup on non-SMP flavours with gettimeofday. 
+
+ -- Kyle McMartin <kyle at debian.org>  Thu, 29 Jun 2006 09:29:06 -0400
 
 linux-2.6 (2.6.17-1) unstable; urgency=low
 

Modified: dists/trunk/linux-2.6/debian/patches/hppa.patch
==============================================================================
--- dists/trunk/linux-2.6/debian/patches/hppa.patch	(original)
+++ dists/trunk/linux-2.6/debian/patches/hppa.patch	Thu Jun 29 13:30:46 2006
@@ -1,6 +1,6 @@
-diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/CREDITS CVS2_6_17_PA2/CREDITS
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/CREDITS CVS2_6_17_PA6/CREDITS
 --- LINUS_2_6_17/CREDITS	2006-06-17 22:24:34.000000000 -0600
-+++ CVS2_6_17_PA2/CREDITS	2006-05-27 10:29:47.000000000 -0600
++++ CVS2_6_17_PA6/CREDITS	2006-05-27 10:29:47.000000000 -0600
 @@ -3400,10 +3400,10 @@
  
  N: Thibaut Varene
@@ -14,9 +14,9 @@
  D: AD1889 sound driver
  S: Paris, France
  
-diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/Documentation/pci.txt CVS2_6_17_PA2/Documentation/pci.txt
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/Documentation/pci.txt CVS2_6_17_PA6/Documentation/pci.txt
 --- LINUS_2_6_17/Documentation/pci.txt	2006-06-17 22:24:34.000000000 -0600
-+++ CVS2_6_17_PA2/Documentation/pci.txt	2006-06-05 15:32:03.000000000 -0600
++++ CVS2_6_17_PA6/Documentation/pci.txt	2006-06-05 15:32:03.000000000 -0600
 @@ -213,9 +213,17 @@
  
     See Documentation/IO-mapping.txt for how to access device memory.
@@ -38,19 +38,20 @@
  
     All interrupt handlers should be registered with SA_SHIRQ and use the devid
  to map IRQs to devices (remember that all PCI interrupts are shared).
-diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/arch/parisc/kernel/cache.c CVS2_6_17_PA2/arch/parisc/kernel/cache.c
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/arch/parisc/kernel/cache.c CVS2_6_17_PA6/arch/parisc/kernel/cache.c
 --- LINUS_2_6_17/arch/parisc/kernel/cache.c	2006-06-17 22:24:39.000000000 -0600
-+++ CVS2_6_17_PA2/arch/parisc/kernel/cache.c	2006-06-18 19:02:09.000000000 -0600
-@@ -97,15 +97,16 @@
++++ CVS2_6_17_PA6/arch/parisc/kernel/cache.c	2006-06-21 10:42:08.000000000 -0600
+@@ -97,15 +97,17 @@
  void
  show_cache_info(struct seq_file *m)
  {
-+	char buf[64];
++	char buf[32];
 +
  	seq_printf(m, "I-cache\t\t: %ld KB\n", 
  		cache_info.ic_size/1024 );
 -	seq_printf(m, "D-cache\t\t: %ld KB (%s%s, %d-way associative)\n", 
-+	snprintf(buf, 64, "%lu-way associative", cache_info.dc_loop);
++	if (cache_info.dc_loop == 1)
++		snprintf(buf, 32, "%lu-way associative", cache_info.dc_loop);
 +	seq_printf(m, "D-cache\t\t: %ld KB (%s%s, %s)\n", 
  		cache_info.dc_size/1024,
  		(cache_info.dc_conf.cc_wt ? "WT":"WB"),
@@ -58,11 +59,11 @@
 -		(cache_info.dc_conf.cc_assoc)
 -	);
 -
-+		((cache_info.dc_loop == 1) ? "direct-mapped" : buf));
++		((cache_info.dc_loop == 1) ? "direct mapped" : buf));
  	seq_printf(m, "ITLB entries\t: %ld\n" "DTLB entries\t: %ld%s\n",
  		cache_info.it_size,
  		cache_info.dt_size,
-@@ -158,11 +159,11 @@
+@@ -158,11 +160,11 @@
  		cache_info.dc_conf.cc_block,
  		cache_info.dc_conf.cc_line,
  		cache_info.dc_conf.cc_shift);
@@ -76,7 +77,7 @@
  
  	printk("IC  base 0x%lx stride 0x%lx count 0x%lx loop 0x%lx\n",
  		cache_info.ic_base,
-@@ -176,11 +177,11 @@
+@@ -176,11 +178,11 @@
  		cache_info.ic_conf.cc_block,
  		cache_info.ic_conf.cc_line,
  		cache_info.ic_conf.cc_shift);
@@ -90,7 +91,7 @@
  
  	printk("D-TLB conf: sh %d page %d cst %d aid %d pad1 %d \n",
  		cache_info.dt_conf.tc_sh,
-@@ -234,7 +235,8 @@
+@@ -234,7 +236,8 @@
  
  void disable_sr_hashing(void)
  {
@@ -100,7 +101,7 @@
  
  	switch (boot_cpu_data.cpu_type) {
  	case pcx: /* We shouldn't get this far.  setup.c should prevent it. */
-@@ -260,6 +262,13 @@
+@@ -260,6 +263,13 @@
  	}
  
  	disable_sr_hashing_asm(srhash_type);
@@ -114,9 +115,9 @@
  }
  
  void flush_dcache_page(struct page *page)
-diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/arch/parisc/kernel/entry.S CVS2_6_17_PA2/arch/parisc/kernel/entry.S
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/arch/parisc/kernel/entry.S CVS2_6_17_PA6/arch/parisc/kernel/entry.S
 --- LINUS_2_6_17/arch/parisc/kernel/entry.S	2006-06-17 22:24:39.000000000 -0600
-+++ CVS2_6_17_PA2/arch/parisc/kernel/entry.S	2006-04-23 20:26:57.000000000 -0600
++++ CVS2_6_17_PA6/arch/parisc/kernel/entry.S	2006-04-23 20:26:57.000000000 -0600
 @@ -1638,7 +1638,7 @@
  	load32		PA(pa_dbit_lock),t0
  
@@ -144,9 +145,9 @@
  	cmpib,=         0,t1,dbit_spin_20
  	nop
  
-diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/arch/parisc/kernel/firmware.c CVS2_6_17_PA2/arch/parisc/kernel/firmware.c
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/arch/parisc/kernel/firmware.c CVS2_6_17_PA6/arch/parisc/kernel/firmware.c
 --- LINUS_2_6_17/arch/parisc/kernel/firmware.c	2006-06-17 22:24:39.000000000 -0600
-+++ CVS2_6_17_PA2/arch/parisc/kernel/firmware.c	2006-06-18 19:02:09.000000000 -0600
++++ CVS2_6_17_PA6/arch/parisc/kernel/firmware.c	2006-06-21 13:27:29.000000000 -0600
 @@ -11,7 +11,7 @@
   * Copyright 1999 The Puffin Group, (Alex deVries, David Kennedy)
   * Copyright 2003 Grant Grundler <grundler parisc-linux org>
@@ -191,7 +192,18 @@
   * pdc_coproc_cfg - To identify coprocessors attached to the processor.
   * @pdc_coproc_info: Return buffer address.
   *
-@@ -498,6 +512,26 @@
+@@ -393,7 +407,9 @@
+  * pdc_model_sysmodel - Get the system model name.
+  * @name: A char array of at least 81 characters.
+  *
+- * Get system model name from PDC ROM (e.g. 9000/715 or 9000/778/B160L)
++ * Get system model name from PDC ROM (e.g. 9000/715 or 9000/778/B160L).
++ * Using OS_ID_HPUX will return the equivalent of the 'modelname' command
++ * on HP/UX.
+  */
+ int pdc_model_sysmodel(char *name)
+ {
+@@ -498,6 +514,26 @@
          return retval;
  }
  
@@ -218,9 +230,142 @@
  #ifndef CONFIG_PA20
  /**
   * pdc_btlb_info - Return block TLB information.
-diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/arch/parisc/kernel/pdc_chassis.c CVS2_6_17_PA2/arch/parisc/kernel/pdc_chassis.c
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/arch/parisc/kernel/module.c CVS2_6_17_PA6/arch/parisc/kernel/module.c
+--- LINUS_2_6_17/arch/parisc/kernel/module.c	2005-02-25 07:54:20.000000000 -0700
++++ CVS2_6_17_PA6/arch/parisc/kernel/module.c	2006-06-23 14:15:19.000000000 -0600
+@@ -89,6 +89,12 @@
+ 	return is_init(me, loc) || is_core(me, loc);
+ }
+ 
++static inline int is_local_section(struct module *me, void *loc, void *dot)
++{
++	return (is_init(me, loc) && is_init(me, dot)) || 
++		(is_core(me, loc) && is_core(me, dot));
++}
++
+ 
+ #ifndef __LP64__
+ struct got_entry {
+@@ -364,8 +370,14 @@
+ }
+ #endif /* __LP64__ */
+ 
++enum elf_stub_type {
++	ELF_STUB_GOT,
++	ELF_STUB_MILLI,
++	ELF_STUB_DIRECT,
++};
++
+ static Elf_Addr get_stub(struct module *me, unsigned long value, long addend,
+-	int millicode, int init_section)
++	enum elf_stub_type stub_type, int init_section)
+ {
+ 	unsigned long i;
+ 	struct stub_entry *stub;
+@@ -396,7 +408,7 @@
+ 	stub->insns[1] |= reassemble_17(rrsel(value, addend) / 4);
+ 
+ #else
+-/* for 64-bit we have two kinds of stubs:
++/* for 64-bit we have three kinds of stubs:
+  * for normal function calls:
+  * 	ldd 0(%dp),%dp
+  * 	ldd 10(%dp), %r1
+@@ -408,18 +420,23 @@
+  * 	ldo 0(%r1), %r1
+  * 	ldd 10(%r1), %r1
+  * 	bve,n (%r1)
++ *
++ * for direct branches (jumps between different section of the
++ * same module):
++ *	ldil 0, %r1
++ *	ldo 0(%r1), %r1
++ *	bve,n (%r1)
+  */
+-	if (!millicode)
+-	{
++	switch (stub_type) {
++	case ELF_STUB_GOT:
+ 		stub->insns[0] = 0x537b0000;	/* ldd 0(%dp),%dp	*/
+ 		stub->insns[1] = 0x53610020;	/* ldd 10(%dp),%r1	*/
+ 		stub->insns[2] = 0xe820d000;	/* bve (%r1)		*/
+ 		stub->insns[3] = 0x537b0030;	/* ldd 18(%dp),%dp	*/
+ 
+ 		stub->insns[0] |= reassemble_14(get_got(me, value, addend) & 0x3fff);
+-	}
+-	else
+-	{
++		break;
++	case ELF_STUB_MILLI:
+ 		stub->insns[0] = 0x20200000;	/* ldil 0,%r1		*/
+ 		stub->insns[1] = 0x34210000;	/* ldo 0(%r1), %r1	*/
+ 		stub->insns[2] = 0x50210020;	/* ldd 10(%r1),%r1	*/
+@@ -427,7 +444,17 @@
+ 
+ 		stub->insns[0] |= reassemble_21(lrsel(value, addend));
+ 		stub->insns[1] |= reassemble_14(rrsel(value, addend));
++		break;
++	case ELF_STUB_DIRECT:
++		stub->insns[0] = 0x20200000;    /* ldil 0,%r1           */
++		stub->insns[1] = 0x34210000;    /* ldo 0(%r1), %r1      */
++		stub->insns[2] = 0xe820d002;    /* bve,n (%r1)          */
++
++		stub->insns[0] |= reassemble_21(lrsel(value, addend));
++		stub->insns[1] |= reassemble_14(rrsel(value, addend));
++		break;
+ 	}
++
+ #endif
+ 
+ 	return (Elf_Addr)stub;
+@@ -539,14 +566,14 @@
+ 			break;
+ 		case R_PARISC_PCREL17F:
+ 			/* 17-bit PC relative address */
+-			val = get_stub(me, val, addend, 0, is_init(me, loc));
++			val = get_stub(me, val, addend, ELF_STUB_GOT, is_init(me, loc));
+ 			val = (val - dot - 8)/4;
+ 			CHECK_RELOC(val, 17)
+ 			*loc = (*loc & ~0x1f1ffd) | reassemble_17(val);
+ 			break;
+ 		case R_PARISC_PCREL22F:
+ 			/* 22-bit PC relative address; only defined for pa20 */
+-			val = get_stub(me, val, addend, 0, is_init(me, loc));
++			val = get_stub(me, val, addend, ELF_STUB_GOT, is_init(me, loc));
+ 			DEBUGP("STUB FOR %s loc %lx+%lx at %lx\n", 
+ 			       strtab + sym->st_name, (unsigned long)loc, addend, 
+ 			       val)
+@@ -643,13 +670,23 @@
+ 			       strtab + sym->st_name,
+ 			       loc, val);
+ 			/* can we reach it locally? */
+-			if(!is_local(me, (void *)val)) {
+-				if (strncmp(strtab + sym->st_name, "$$", 2)
++			if(!is_local_section(me, (void *)val, (void *)dot)) {
++
++				if (is_local(me, (void *)val))
++					/* this is the case where the
++					 * symbol is local to the
++					 * module, but in a different
++					 * section, so stub the jump
++					 * in case it's more than 22
++					 * bits away */
++					val = get_stub(me, val, addend, ELF_STUB_DIRECT,
++						       is_init(me, loc));
++				else if (strncmp(strtab + sym->st_name, "$$", 2)
+ 				    == 0)
+-					val = get_stub(me, val, addend, 1,
++					val = get_stub(me, val, addend, ELF_STUB_MILLI,
+ 						       is_init(me, loc));
+ 				else
+-					val = get_stub(me, val, addend, 0,
++					val = get_stub(me, val, addend, ELF_STUB_GOT,
+ 						       is_init(me, loc));
+ 			}
+ 			DEBUGP("STUB FOR %s loc %lx, val %lx+%lx at %lx\n", 
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/arch/parisc/kernel/pdc_chassis.c CVS2_6_17_PA6/arch/parisc/kernel/pdc_chassis.c
 --- LINUS_2_6_17/arch/parisc/kernel/pdc_chassis.c	2006-06-17 22:24:39.000000000 -0600
-+++ CVS2_6_17_PA2/arch/parisc/kernel/pdc_chassis.c	2006-05-04 09:29:32.000000000 -0600
++++ CVS2_6_17_PA6/arch/parisc/kernel/pdc_chassis.c	2006-05-04 09:29:32.000000000 -0600
 @@ -1,8 +1,8 @@
  /* 
 - *    interfaces to log Chassis Codes via PDC (firmware)
@@ -404,9 +549,9 @@
 +	
 +#endif /* CONFIG_PROC_FS */
 +#endif /* CONFIG_PDC_CHASSIS_WARN */
-diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/arch/parisc/kernel/ptrace.c CVS2_6_17_PA2/arch/parisc/kernel/ptrace.c
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/arch/parisc/kernel/ptrace.c CVS2_6_17_PA6/arch/parisc/kernel/ptrace.c
 --- LINUS_2_6_17/arch/parisc/kernel/ptrace.c	2006-06-17 22:24:39.000000000 -0600
-+++ CVS2_6_17_PA2/arch/parisc/kernel/ptrace.c	2006-06-16 13:10:02.000000000 -0600
++++ CVS2_6_17_PA6/arch/parisc/kernel/ptrace.c	2006-06-16 13:10:02.000000000 -0600
 @@ -91,7 +91,7 @@
  		int copied;
  
@@ -443,9 +588,9 @@
  			if (addr & (sizeof(int)-1))
  				goto out_tsk;
  			if ((addr = translate_usr_offset(addr)) < 0)
-diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/arch/parisc/kernel/real2.S CVS2_6_17_PA2/arch/parisc/kernel/real2.S
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/arch/parisc/kernel/real2.S CVS2_6_17_PA6/arch/parisc/kernel/real2.S
 --- LINUS_2_6_17/arch/parisc/kernel/real2.S	2006-06-17 22:24:39.000000000 -0600
-+++ CVS2_6_17_PA2/arch/parisc/kernel/real2.S	2006-05-25 10:22:30.000000000 -0600
++++ CVS2_6_17_PA6/arch/parisc/kernel/real2.S	2006-05-25 10:22:30.000000000 -0600
 @@ -276,15 +276,6 @@
  
  #endif
@@ -462,14 +607,14 @@
  	.export __canonicalize_funcptr_for_compare
  	.text
  	/* http://lists.parisc-linux.org/hypermail/parisc-linux/10916.html
-diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/arch/parisc/kernel/setup.c CVS2_6_17_PA2/arch/parisc/kernel/setup.c
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/arch/parisc/kernel/setup.c CVS2_6_17_PA6/arch/parisc/kernel/setup.c
 --- LINUS_2_6_17/arch/parisc/kernel/setup.c	2006-06-17 22:24:39.000000000 -0600
-+++ CVS2_6_17_PA2/arch/parisc/kernel/setup.c	2006-05-04 18:43:33.000000000 -0600
++++ CVS2_6_17_PA6/arch/parisc/kernel/setup.c	2006-06-21 13:27:29.000000000 -0600
 @@ -303,6 +303,8 @@
  
  static int __init parisc_init(void)
  {
-+	u32 osid = (0x0006 << 16);
++	u32 osid = (OS_ID_LINUX << 16);
 +	
  	parisc_proc_mkdir();
  	parisc_init_resources();
@@ -484,9 +629,9 @@
  	
  	processor_init();
  	printk(KERN_INFO "CPU(s): %d x %s at %d.%06d MHz\n",
-diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/arch/parisc/kernel/signal.c CVS2_6_17_PA2/arch/parisc/kernel/signal.c
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/arch/parisc/kernel/signal.c CVS2_6_17_PA6/arch/parisc/kernel/signal.c
 --- LINUS_2_6_17/arch/parisc/kernel/signal.c	2006-06-17 22:24:39.000000000 -0600
-+++ CVS2_6_17_PA2/arch/parisc/kernel/signal.c	2006-06-16 13:10:02.000000000 -0600
++++ CVS2_6_17_PA6/arch/parisc/kernel/signal.c	2006-06-16 13:10:02.000000000 -0600
 @@ -76,7 +76,7 @@
  #ifdef __LP64__
  	compat_sigset_t newset32;
@@ -573,9 +718,9 @@
  		regs->gr[25] = A(&compat_frame->info); /* siginfo pointer */
  		regs->gr[24] = A(&compat_frame->uc);   /* ucontext pointer */
  	} else
-diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/arch/parisc/kernel/syscall.S CVS2_6_17_PA2/arch/parisc/kernel/syscall.S
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/arch/parisc/kernel/syscall.S CVS2_6_17_PA6/arch/parisc/kernel/syscall.S
 --- LINUS_2_6_17/arch/parisc/kernel/syscall.S	2006-06-17 22:24:39.000000000 -0600
-+++ CVS2_6_17_PA2/arch/parisc/kernel/syscall.S	2006-06-17 11:53:43.000000000 -0600
++++ CVS2_6_17_PA6/arch/parisc/kernel/syscall.S	2006-06-17 11:53:43.000000000 -0600
 @@ -29,18 +29,6 @@
  	.level		1.1
  #endif
@@ -610,32 +755,154 @@
  .end
 -
 -
-diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/arch/parisc/kernel/traps.c CVS2_6_17_PA2/arch/parisc/kernel/traps.c
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/arch/parisc/kernel/time.c CVS2_6_17_PA6/arch/parisc/kernel/time.c
+--- LINUS_2_6_17/arch/parisc/kernel/time.c	2005-12-17 10:21:16.000000000 -0700
++++ CVS2_6_17_PA6/arch/parisc/kernel/time.c	2006-06-24 10:05:18.000000000 -0600
+@@ -157,8 +157,22 @@
+ 		usec += (xtime.tv_nsec / 1000);
+ 	} while (read_seqretry_irqrestore(&xtime_lock, seq, flags));
+ 
+-	while (usec >= 1000000) {
+-		usec -= 1000000;
++	if (unlikely(usec > LONG_MAX)) {
++		/* This can happen if the gettimeoffset adjustment is
++		 * negative and xtime.tv_nsec is smaller than the 
++		 * adjustment */
++		printk(KERN_ERR "do_gettimeofday() spurious xtime.tv_nsec of %ld\n", usec);
++		usec += USEC_PER_SEC;
++		--sec;
++		/* This should never happen, it means the negative
++		 * time adjustment was more than a second, so there's
++		 * something seriously wrong */
++		BUG_ON(usec > LONG_MAX);
++	}
++	
++
++	while (usec >= USEC_PER_SEC) {
++		usec -= USEC_PER_SEC;
+ 		++sec;
+ 	}
+ 
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/arch/parisc/kernel/traps.c CVS2_6_17_PA6/arch/parisc/kernel/traps.c
 --- LINUS_2_6_17/arch/parisc/kernel/traps.c	2006-06-17 22:24:39.000000000 -0600
-+++ CVS2_6_17_PA2/arch/parisc/kernel/traps.c	2006-06-01 05:33:33.000000000 -0600
-@@ -111,7 +111,10 @@
++++ CVS2_6_17_PA6/arch/parisc/kernel/traps.c	2006-06-22 05:39:09.000000000 -0600
+@@ -66,57 +66,42 @@
+ #else
+ #define RFMT "%08lx"
+ #endif
++#define FFMT "%016llx"	/* fpregs are 64-bit always */
+ 
+-void show_regs(struct pt_regs *regs)
++#define PRINTREGS(lvl,r,f,fmt,x)	\
++	printk("%s%s%02d-%02d  " fmt " " fmt " " fmt " " fmt "\n",	\
++		lvl, f, (x), (x+3), (r)[(x)+0], (r)[(x)+1],		\
++		(r)[(x)+2], (r)[(x)+3])
++
++static void print_gr(char *level, struct pt_regs *regs)
+ {
+ 	int i;
+-	char buf[128], *p;
+-	char *level;
+-	unsigned long cr30;
+-	unsigned long cr31;
+-	/* carlos says that gcc understands better memory in a struct,
+-	 * and it makes our life easier with fpregs -- T-Bone */
+-	struct { u32 sw[2]; } s;
+-	
+-	level = user_mode(regs) ? KERN_DEBUG : KERN_CRIT;
+-
+-	printk("%s\n", level); /* don't want to have that pretty register dump messed up */
++	char buf[64];
+ 
++	printk("%s\n", level);
+ 	printk("%s     YZrvWESTHLNXBCVMcbcbcbcbOGFRQPDI\n", level);
+ 	printbinary(buf, regs->gr[0], 32);
+ 	printk("%sPSW: %s %s\n", level, buf, print_tainted());
+ 
+-	for (i = 0; i < 32; i += 4) {
+-		int j;
+-		p = buf;
+-		p += sprintf(p, "%sr%02d-%02d ", level, i, i + 3);
+-		for (j = 0; j < 4; j++) {
+-			p += sprintf(p, " " RFMT, (i+j) == 0 ? 0 : regs->gr[i + j]);
+-		}
+-		printk("%s\n", buf);
+-	}
++	for (i = 0; i < 32; i += 4)
++		PRINTREGS(level, regs->gr, "r", RFMT, i);
++}
+ 
+-	for (i = 0; i < 8; i += 4) {
+-		int j;
+-		p = buf;
+-		p += sprintf(p, "%ssr%d-%d  ", level, i, i + 3);
+-		for (j = 0; j < 4; j++) {
+-			p += sprintf(p, " " RFMT, regs->sr[i + j]);
+-		}
+-		printk("%s\n", buf);
+-	}
++static void print_fr(char *level, struct pt_regs *regs)
++{
++	int i;
++	char buf[64];
++	struct { u32 sw[2]; } s;
+ 
+-	/* FR are 64bit everywhere. Need to use asm to get the content
++	/* FR are 64bit everywhere. Need to use asm to get the content 
+ 	 * of fpsr/fper1, and we assume that we won't have a FP Identify
  	 * in our way, otherwise we're screwed.
  	 * The fldd is used to restore the T-bit if there was one, as the
  	 * store clears it anyway.
 -	 * BTW, PA2.0 book says "thou shall not use fstw on FPSR/FPERs". */ 
-+	 * BTW, PA2.0 book says "thou shall not use fstw on FPSR/FPERs".
-+	 * We disabled use of fpregs in our kernel so far. Don't print them
-+	 * unnecessarily - T-Bone */ 
-+	if (user_mode(regs)) {
- 	__asm__ (
- 		"fstd %%fr0,0(%1)	\n\t"
- 		"fldd 0(%1),%%fr0	\n\t"
-@@ -133,6 +136,7 @@
- 			p += sprintf(p, " %016llx", (i+j) == 0 ? 0 : regs->fr[i+j]);
- 		printk("%s\n", buf);
- 	}
-+	}
+-	__asm__ (
+-		"fstd %%fr0,0(%1)	\n\t"
+-		"fldd 0(%1),%%fr0	\n\t"
+-		: "=m" (s) : "r" (&s) : "%r0"
+-		);
++	 * PA2.0 book says "thou shall not use fstw on FPSR/FPERs" - T-Bone */
++	asm volatile ("fstd %%fr0,0(%1)	\n\t"
++		      "fldd 0(%1),%%fr0	\n\t"
++		      : "=m" (s) : "r" (&s) : "r0");
+ 
+ 	printk("%s\n", level);
+ 	printk("%s      VZOUICununcqcqcqcqcqcrmunTDVZOUI\n", level);
+@@ -125,14 +110,25 @@
+ 	printk("%sFPER1: %08x\n", level, s.sw[1]);
+ 
+ 	/* here we'll print fr0 again, tho it'll be meaningless */
+-	for (i = 0; i < 32; i += 4) {
+-		int j;
+-		p = buf;
+-		p += sprintf(p, "%sfr%02d-%02d ", level, i, i + 3);
+-		for (j = 0; j < 4; j++)
+-			p += sprintf(p, " %016llx", (i+j) == 0 ? 0 : regs->fr[i+j]);
+-		printk("%s\n", buf);
+-	}
++	for (i = 0; i < 32; i += 4)
++		PRINTREGS(level, regs->fr, "fr", FFMT, i);
++}	
++
++void show_regs(struct pt_regs *regs)
++{
++	int i;
++	char *level;
++	unsigned long cr30, cr31;
++	
++	level = user_mode(regs) ? KERN_DEBUG : KERN_CRIT;
++
++	print_gr(level, regs);
++
++	for (i = 0; i < 8; i += 4)
++		PRINTREGS(level, regs->sr, "sr", RFMT, i);
++
++	if (user_mode(regs))
++		print_fr(level, regs);
  
  	cr30 = mfctl(30);
  	cr31 = mfctl(31);
-diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/arch/parisc/kernel/unaligned.c CVS2_6_17_PA2/arch/parisc/kernel/unaligned.c
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/arch/parisc/kernel/unaligned.c CVS2_6_17_PA6/arch/parisc/kernel/unaligned.c
 --- LINUS_2_6_17/arch/parisc/kernel/unaligned.c	2006-06-17 22:24:39.000000000 -0600
-+++ CVS2_6_17_PA2/arch/parisc/kernel/unaligned.c	2006-04-22 14:47:20.000000000 -0600
++++ CVS2_6_17_PA6/arch/parisc/kernel/unaligned.c	2006-04-22 14:47:20.000000000 -0600
 @@ -43,6 +43,8 @@
  	"\tldil L%%" #lbl ", %%r1\n"			\
  	"\tldo R%%" #lbl "(%%r1), %%r1\n"		\
@@ -717,9 +984,9 @@
      }
  #endif
  
-diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/drivers/net/dummy.c CVS2_6_17_PA2/drivers/net/dummy.c
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/drivers/net/dummy.c CVS2_6_17_PA6/drivers/net/dummy.c
 --- LINUS_2_6_17/drivers/net/dummy.c	2006-06-17 22:24:44.000000000 -0600
-+++ CVS2_6_17_PA2/drivers/net/dummy.c	2006-04-20 14:25:07.000000000 -0600
++++ CVS2_6_17_PA6/drivers/net/dummy.c	2006-04-20 14:25:07.000000000 -0600
 @@ -57,7 +57,7 @@
  {
  }
@@ -729,9 +996,9 @@
  {
  	/* Initialize the device structure. */
  	dev->get_stats = dummy_get_stats;
-diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/drivers/net/tulip/21142.c CVS2_6_17_PA2/drivers/net/tulip/21142.c
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/drivers/net/tulip/21142.c CVS2_6_17_PA6/drivers/net/tulip/21142.c
 --- LINUS_2_6_17/drivers/net/tulip/21142.c	2006-06-17 22:24:45.000000000 -0600
-+++ CVS2_6_17_PA2/drivers/net/tulip/21142.c	2006-06-14 09:23:41.000000000 -0600
++++ CVS2_6_17_PA6/drivers/net/tulip/21142.c	2006-06-14 09:23:41.000000000 -0600
 @@ -26,9 +26,9 @@
  
  /* Handle the 21143 uniquely: do autoselect with NWay, not the EEPROM list
@@ -744,9 +1011,9 @@
  	struct tulip_private *tp = netdev_priv(dev);
  	void __iomem *ioaddr = tp->base_addr;
  	int csr12 = ioread32(ioaddr + CSR12);
-diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/drivers/net/tulip/de2104x.c CVS2_6_17_PA2/drivers/net/tulip/de2104x.c
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/drivers/net/tulip/de2104x.c CVS2_6_17_PA6/drivers/net/tulip/de2104x.c
 --- LINUS_2_6_17/drivers/net/tulip/de2104x.c	2006-06-17 22:24:45.000000000 -0600
-+++ CVS2_6_17_PA2/drivers/net/tulip/de2104x.c	2006-04-20 14:25:07.000000000 -0600
++++ CVS2_6_17_PA6/drivers/net/tulip/de2104x.c	2006-04-20 14:25:07.000000000 -0600
 @@ -1731,7 +1731,7 @@
  }
  
@@ -774,9 +1041,9 @@
  {
  	struct net_device *dev = pci_get_drvdata(pdev);
  	struct de_private *de = dev->priv;
-diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/drivers/net/tulip/interrupt.c CVS2_6_17_PA2/drivers/net/tulip/interrupt.c
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/drivers/net/tulip/interrupt.c CVS2_6_17_PA6/drivers/net/tulip/interrupt.c
 --- LINUS_2_6_17/drivers/net/tulip/interrupt.c	2006-06-17 22:24:45.000000000 -0600
-+++ CVS2_6_17_PA2/drivers/net/tulip/interrupt.c	2006-05-30 00:46:14.000000000 -0600
++++ CVS2_6_17_PA6/drivers/net/tulip/interrupt.c	2006-05-30 00:46:14.000000000 -0600
 @@ -88,6 +88,10 @@
  		}
  		tp->rx_ring[entry].status = cpu_to_le32(DescOwned);
@@ -788,9 +1055,9 @@
  	if(tp->chip_id == LC82C168) {
  		if(((ioread32(tp->base_addr + CSR5)>>17)&0x07) == 4) {
  			/* Rx stopped due to out of buffers,
-diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/drivers/net/tulip/media.c CVS2_6_17_PA2/drivers/net/tulip/media.c
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/drivers/net/tulip/media.c CVS2_6_17_PA6/drivers/net/tulip/media.c
 --- LINUS_2_6_17/drivers/net/tulip/media.c	2006-06-17 22:24:45.000000000 -0600
-+++ CVS2_6_17_PA2/drivers/net/tulip/media.c	2006-06-14 10:12:39.000000000 -0600
++++ CVS2_6_17_PA6/drivers/net/tulip/media.c	2006-06-14 10:12:39.000000000 -0600
 @@ -44,8 +44,10 @@
  
  /* MII transceiver control section.
@@ -862,9 +1129,9 @@
  			tmp_info = get_u16(&misc_info[1]);
  			if (tmp_info)
  				tp->advertising[phy_num] = tmp_info | 1;
-diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/drivers/net/tulip/timer.c CVS2_6_17_PA2/drivers/net/tulip/timer.c
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/drivers/net/tulip/timer.c CVS2_6_17_PA6/drivers/net/tulip/timer.c
 --- LINUS_2_6_17/drivers/net/tulip/timer.c	2006-06-17 22:24:45.000000000 -0600
-+++ CVS2_6_17_PA2/drivers/net/tulip/timer.c	2006-06-14 09:23:41.000000000 -0600
++++ CVS2_6_17_PA6/drivers/net/tulip/timer.c	2006-06-14 09:23:41.000000000 -0600
 @@ -18,13 +18,14 @@
  #include "tulip.h"
  
@@ -898,9 +1165,9 @@
  	/* mod_timer synchronizes us with potential add_timer calls
  	 * from interrupts.
  	 */
-diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/drivers/net/tulip/tulip.h CVS2_6_17_PA2/drivers/net/tulip/tulip.h
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/drivers/net/tulip/tulip.h CVS2_6_17_PA6/drivers/net/tulip/tulip.h
 --- LINUS_2_6_17/drivers/net/tulip/tulip.h	2006-06-17 22:24:45.000000000 -0600
-+++ CVS2_6_17_PA2/drivers/net/tulip/tulip.h	2006-06-14 09:23:41.000000000 -0600
++++ CVS2_6_17_PA6/drivers/net/tulip/tulip.h	2006-06-14 09:23:41.000000000 -0600
 @@ -31,11 +31,10 @@
  /* undefine, or define to various debugging levels (>4 == obscene levels) */
  #define TULIP_DEBUG 1
@@ -1014,9 +1281,9 @@
 +}
 +
  #endif /* __NET_TULIP_H__ */
-diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/drivers/net/tulip/tulip_core.c CVS2_6_17_PA2/drivers/net/tulip/tulip_core.c
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/drivers/net/tulip/tulip_core.c CVS2_6_17_PA6/drivers/net/tulip/tulip_core.c
 --- LINUS_2_6_17/drivers/net/tulip/tulip_core.c	2006-06-17 22:24:45.000000000 -0600
-+++ CVS2_6_17_PA2/drivers/net/tulip/tulip_core.c	2006-06-14 09:28:08.000000000 -0600
++++ CVS2_6_17_PA6/drivers/net/tulip/tulip_core.c	2006-06-14 09:28:08.000000000 -0600
 @@ -18,11 +18,11 @@
  
  #define DRV_NAME	"tulip"
@@ -1272,9 +1539,9 @@
  
  	pci_save_state(pdev);
  	pci_disable_device(pdev);
-diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/drivers/net/tulip/winbond-840.c CVS2_6_17_PA2/drivers/net/tulip/winbond-840.c
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/drivers/net/tulip/winbond-840.c CVS2_6_17_PA6/drivers/net/tulip/winbond-840.c
 --- LINUS_2_6_17/drivers/net/tulip/winbond-840.c	2006-06-17 22:24:45.000000000 -0600
-+++ CVS2_6_17_PA2/drivers/net/tulip/winbond-840.c	2006-05-30 00:46:14.000000000 -0600
++++ CVS2_6_17_PA6/drivers/net/tulip/winbond-840.c	2006-05-30 00:46:14.000000000 -0600
 @@ -90,10 +90,8 @@
     Making the Tx ring too large decreases the effectiveness of channel
     bonding and packet priority.
@@ -1486,9 +1753,9 @@
  	}
  	iowrite32(mc_filter[0], ioaddr + MulticastFilter0);
  	iowrite32(mc_filter[1], ioaddr + MulticastFilter1);
-diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/drivers/parisc/Kconfig CVS2_6_17_PA2/drivers/parisc/Kconfig
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/drivers/parisc/Kconfig CVS2_6_17_PA6/drivers/parisc/Kconfig
 --- LINUS_2_6_17/drivers/parisc/Kconfig	2006-06-17 22:24:46.000000000 -0600
-+++ CVS2_6_17_PA2/drivers/parisc/Kconfig	2006-05-03 17:27:35.000000000 -0600
++++ CVS2_6_17_PA6/drivers/parisc/Kconfig	2006-05-03 17:27:35.000000000 -0600
 @@ -140,18 +140,37 @@
  	  If unsure, say Y.
  
@@ -1534,9 +1801,9 @@
  config PDC_STABLE
  	tristate "PDC Stable Storage support"
  	depends on SYSFS
-diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/drivers/parisc/pdc_stable.c CVS2_6_17_PA2/drivers/parisc/pdc_stable.c
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/drivers/parisc/pdc_stable.c CVS2_6_17_PA6/drivers/parisc/pdc_stable.c
 --- LINUS_2_6_17/drivers/parisc/pdc_stable.c	2006-06-17 22:24:46.000000000 -0600
-+++ CVS2_6_17_PA2/drivers/parisc/pdc_stable.c	2006-05-05 04:58:32.000000000 -0600
++++ CVS2_6_17_PA6/drivers/parisc/pdc_stable.c	2006-05-05 04:58:32.000000000 -0600
 @@ -28,8 +28,15 @@
   *    following code can deal with just 96 bytes of Stable Storage, and all
   *    sizes between 96 and 192 bytes (provided they are multiple of struct
@@ -1872,9 +2139,9 @@
  		goto fail_subsysreg;
  
  	/* now we create all "files" for the paths subsys */
-diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/drivers/parisc/sba_iommu.c CVS2_6_17_PA2/drivers/parisc/sba_iommu.c
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/drivers/parisc/sba_iommu.c CVS2_6_17_PA6/drivers/parisc/sba_iommu.c
 --- LINUS_2_6_17/drivers/parisc/sba_iommu.c	2006-06-17 22:24:46.000000000 -0600
-+++ CVS2_6_17_PA2/drivers/parisc/sba_iommu.c	2006-05-31 06:58:33.000000000 -0600
++++ CVS2_6_17_PA6/drivers/parisc/sba_iommu.c	2006-05-31 06:58:33.000000000 -0600
 @@ -39,15 +39,12 @@
  #include <linux/proc_fs.h>
  #include <linux/seq_file.h>
@@ -1944,9 +2211,9 @@
  		printk(KERN_INFO MODULE_NAME " FDC/SYNC required.\n");
  	} else {
  		printk(KERN_INFO MODULE_NAME " IOC has cache coherent PDIR.\n");
-diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/drivers/scsi/53c700.c CVS2_6_17_PA2/drivers/scsi/53c700.c
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/drivers/scsi/53c700.c CVS2_6_17_PA6/drivers/scsi/53c700.c
 --- LINUS_2_6_17/drivers/scsi/53c700.c	2006-06-17 22:24:46.000000000 -0600
-+++ CVS2_6_17_PA2/drivers/scsi/53c700.c	2006-04-03 07:44:53.000000000 -0600
++++ CVS2_6_17_PA6/drivers/scsi/53c700.c	2006-04-03 07:44:53.000000000 -0600
 @@ -294,6 +294,7 @@
  	__u8 *memory;
  	__u32 *script;
@@ -1971,9 +2238,9 @@
  	/* reset the chip */
  	NCR_700_chip_reset(host);
  
-diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/drivers/scsi/constants.c CVS2_6_17_PA2/drivers/scsi/constants.c
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/drivers/scsi/constants.c CVS2_6_17_PA6/drivers/scsi/constants.c
 --- LINUS_2_6_17/drivers/scsi/constants.c	2006-06-17 22:24:46.000000000 -0600
-+++ CVS2_6_17_PA2/drivers/scsi/constants.c	2006-01-17 07:51:48.000000000 -0700
++++ CVS2_6_17_PA6/drivers/scsi/constants.c	2006-01-17 07:51:48.000000000 -0700
 @@ -114,8 +114,7 @@
  	{0xd, "Report supported task management functions"},
  	{0xe, "Report priority"},
@@ -2058,9 +2325,9 @@
  
  void scsi_print_driverbyte(int scsiresult)
  {
-diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/drivers/scsi/sym53c8xx_2/sym_glue.c CVS2_6_17_PA2/drivers/scsi/sym53c8xx_2/sym_glue.c
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/drivers/scsi/sym53c8xx_2/sym_glue.c CVS2_6_17_PA6/drivers/scsi/sym53c8xx_2/sym_glue.c
 --- LINUS_2_6_17/drivers/scsi/sym53c8xx_2/sym_glue.c	2006-06-17 22:24:47.000000000 -0600
-+++ CVS2_6_17_PA2/drivers/scsi/sym53c8xx_2/sym_glue.c	2006-04-28 00:43:26.000000000 -0600
++++ CVS2_6_17_PA6/drivers/scsi/sym53c8xx_2/sym_glue.c	2006-04-28 00:43:26.000000000 -0600
 @@ -210,13 +210,6 @@
  	cmd->scsi_done(cmd);
  }
@@ -2139,9 +2406,9 @@
  	spin_unlock_irqrestore(instance->host_lock, flags);
  
  	return instance;
-diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/drivers/scsi/sym53c8xx_2/sym_glue.h CVS2_6_17_PA2/drivers/scsi/sym53c8xx_2/sym_glue.h
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/drivers/scsi/sym53c8xx_2/sym_glue.h CVS2_6_17_PA6/drivers/scsi/sym53c8xx_2/sym_glue.h
 --- LINUS_2_6_17/drivers/scsi/sym53c8xx_2/sym_glue.h	2006-06-17 22:24:47.000000000 -0600
-+++ CVS2_6_17_PA2/drivers/scsi/sym53c8xx_2/sym_glue.h	2006-04-19 22:08:31.000000000 -0600
++++ CVS2_6_17_PA6/drivers/scsi/sym53c8xx_2/sym_glue.h	2006-04-19 22:08:31.000000000 -0600
 @@ -185,7 +185,6 @@
  	void __iomem *	ioaddr;		/* MMIO kernel io address	*/
  	void __iomem *	ramaddr;	/* RAM  kernel io address	*/
@@ -2150,9 +2417,9 @@
  
  	struct timer_list timer;	/* Timer handler link header	*/
  	u_long		lasttime;
-diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/drivers/serial/serial_core.c CVS2_6_17_PA2/drivers/serial/serial_core.c
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/drivers/serial/serial_core.c CVS2_6_17_PA6/drivers/serial/serial_core.c
 --- LINUS_2_6_17/drivers/serial/serial_core.c	2006-06-17 22:24:47.000000000 -0600
-+++ CVS2_6_17_PA2/drivers/serial/serial_core.c	2006-05-27 10:30:14.000000000 -0600
++++ CVS2_6_17_PA6/drivers/serial/serial_core.c	2006-05-27 10:30:14.000000000 -0600
 @@ -2015,6 +2015,7 @@
  uart_report_port(struct uart_driver *drv, struct uart_port *port)
  {
@@ -2183,9 +2450,9 @@
  }
  
  static void
-diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/drivers/usb/host/pci-quirks.c CVS2_6_17_PA2/drivers/usb/host/pci-quirks.c
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/drivers/usb/host/pci-quirks.c CVS2_6_17_PA6/drivers/usb/host/pci-quirks.c
 --- LINUS_2_6_17/drivers/usb/host/pci-quirks.c	2006-06-17 22:24:47.000000000 -0600
-+++ CVS2_6_17_PA2/drivers/usb/host/pci-quirks.c	2006-06-16 12:21:45.000000000 -0600
++++ CVS2_6_17_PA6/drivers/usb/host/pci-quirks.c	2006-06-16 12:21:45.000000000 -0600
 @@ -168,8 +168,6 @@
  static void __devinit quirk_usb_handoff_ohci(struct pci_dev *pdev)
  {
@@ -2216,9 +2483,9 @@
  #endif
  
  	/*
-diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/drivers/usb/input/hid-core.c CVS2_6_17_PA2/drivers/usb/input/hid-core.c
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/drivers/usb/input/hid-core.c CVS2_6_17_PA6/drivers/usb/input/hid-core.c
 --- LINUS_2_6_17/drivers/usb/input/hid-core.c	2006-06-17 22:24:48.000000000 -0600
-+++ CVS2_6_17_PA2/drivers/usb/input/hid-core.c	2006-05-27 10:30:15.000000000 -0600
++++ CVS2_6_17_PA6/drivers/usb/input/hid-core.c	2006-05-27 10:30:15.000000000 -0600
 @@ -752,21 +752,31 @@
  }
  
@@ -2258,9 +2525,9 @@
  }
  
  /*
-diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/include/asm-parisc/assembly.h CVS2_6_17_PA2/include/asm-parisc/assembly.h
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/include/asm-parisc/assembly.h CVS2_6_17_PA6/include/asm-parisc/assembly.h
 --- LINUS_2_6_17/include/asm-parisc/assembly.h	2006-06-17 22:24:50.000000000 -0600
-+++ CVS2_6_17_PA2/include/asm-parisc/assembly.h	2006-04-23 20:26:58.000000000 -0600
++++ CVS2_6_17_PA6/include/asm-parisc/assembly.h	2006-04-23 20:26:58.000000000 -0600
 @@ -48,6 +48,7 @@
  #define CALLEE_SAVE_FRAME_SIZE (CALLEE_REG_FRAME_SIZE + CALLEE_FLOAT_FRAME_SIZE)
  
@@ -2277,9 +2544,9 @@
  #define BL		bl
  #define LEVEL		1.1
  #endif
-diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/include/asm-parisc/compat.h CVS2_6_17_PA2/include/asm-parisc/compat.h
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/include/asm-parisc/compat.h CVS2_6_17_PA6/include/asm-parisc/compat.h
 --- LINUS_2_6_17/include/asm-parisc/compat.h	2006-06-17 22:24:50.000000000 -0600
-+++ CVS2_6_17_PA2/include/asm-parisc/compat.h	2006-06-16 13:10:02.000000000 -0600
++++ CVS2_6_17_PA6/include/asm-parisc/compat.h	2006-06-16 13:10:02.000000000 -0600
 @@ -5,6 +5,7 @@
   */
  #include <linux/types.h>
@@ -2303,9 +2570,9 @@
 +}
 +
  #endif /* _ASM_PARISC_COMPAT_H */
-diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/include/asm-parisc/mckinley.h CVS2_6_17_PA2/include/asm-parisc/mckinley.h
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/include/asm-parisc/mckinley.h CVS2_6_17_PA6/include/asm-parisc/mckinley.h
 --- LINUS_2_6_17/include/asm-parisc/mckinley.h	1969-12-31 17:00:00.000000000 -0700
-+++ CVS2_6_17_PA2/include/asm-parisc/mckinley.h	2006-05-31 06:58:34.000000000 -0600
++++ CVS2_6_17_PA6/include/asm-parisc/mckinley.h	2006-05-31 06:58:34.000000000 -0600
 @@ -0,0 +1,9 @@
 +#ifndef ASM_PARISC_MCKINLEY_H
 +#define ASM_PARISC_MCKINLEY_H
@@ -2316,10 +2583,24 @@
 +
 +#endif /*__KERNEL__*/
 +#endif /*ASM_PARISC_MCKINLEY_H*/
-diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/include/asm-parisc/pdc.h CVS2_6_17_PA2/include/asm-parisc/pdc.h
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/include/asm-parisc/pdc.h CVS2_6_17_PA6/include/asm-parisc/pdc.h
 --- LINUS_2_6_17/include/asm-parisc/pdc.h	2006-06-17 22:24:50.000000000 -0600
-+++ CVS2_6_17_PA2/include/asm-parisc/pdc.h	2006-06-16 12:20:01.000000000 -0600
-@@ -353,8 +353,8 @@
++++ CVS2_6_17_PA6/include/asm-parisc/pdc.h	2006-06-21 13:27:29.000000000 -0600
+@@ -279,12 +279,11 @@
+ /* constants for OS (NVM...) */
+ #define OS_ID_NONE		0	/* Undefined OS ID	*/
+ #define OS_ID_HPUX		1	/* HP-UX OS		*/
+-#define OS_ID_LINUX		OS_ID_HPUX /* just use the same value as hpux */
+ #define OS_ID_MPEXL		2	/* MPE XL OS		*/
+ #define OS_ID_OSF		3	/* OSF OS		*/
+ #define OS_ID_HPRT		4	/* HP-RT OS		*/
+ #define OS_ID_NOVEL		5	/* NOVELL OS		*/
+-#define OS_ID_NT		6	/* NT OS		*/
++#define OS_ID_LINUX		6	/* Linux		*/
+ 
+ 
+ /* constants for PDC_CHASSIS */
+@@ -353,8 +352,8 @@
  		cc_wt	: 1,	/* 0 = WT-Dcache, 1 = WB-Dcache */
  		cc_sh	: 2,	/* 0 = separate I/D-cache, else shared I/D-cache */
  		cc_cst  : 3,	/* 0 = incoherent D-cache, 1=coherent D-cache */
@@ -2330,7 +2611,7 @@
  };
  
  struct pdc_tlb_cf {		/* for PDC_CACHE (I/D-TLB's) */
-@@ -720,6 +720,7 @@
+@@ -720,6 +719,7 @@
  int pdc_add_valid(unsigned long address);
  int pdc_chassis_info(struct pdc_chassis_info *chassis_info, void *led_info, unsigned long len);
  int pdc_chassis_disp(unsigned long disp);
@@ -2338,7 +2619,7 @@
  int pdc_coproc_cfg(struct pdc_coproc_cfg *pdc_coproc_info);
  int pdc_iodc_read(unsigned long *actcnt, unsigned long hpa, unsigned int index,
  		  void *iodc_data, unsigned int iodc_data_size);
-@@ -733,6 +734,7 @@
+@@ -733,6 +733,7 @@
  int pdc_model_versions(unsigned long *versions, int id);
  int pdc_model_capabilities(unsigned long *capabilities);
  int pdc_cache_info(struct pdc_cache_info *cache);
@@ -2346,9 +2627,9 @@
  #ifndef CONFIG_PA20
  int pdc_btlb_info(struct pdc_btlb_info *btlb);
  int pdc_mem_map_hpa(struct pdc_memory_map *r_addr, struct pdc_module_path *mod_path);
-diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/include/asm-parisc/pgtable.h CVS2_6_17_PA2/include/asm-parisc/pgtable.h
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/include/asm-parisc/pgtable.h CVS2_6_17_PA6/include/asm-parisc/pgtable.h
 --- LINUS_2_6_17/include/asm-parisc/pgtable.h	2006-06-17 22:24:50.000000000 -0600
-+++ CVS2_6_17_PA2/include/asm-parisc/pgtable.h	2006-04-20 20:20:37.000000000 -0600
++++ CVS2_6_17_PA6/include/asm-parisc/pgtable.h	2006-04-20 20:20:37.000000000 -0600
 @@ -507,13 +507,13 @@
  
  /* TLB page size encoding - see table 3-1 in parisc20.pdf */
@@ -2367,9 +2648,9 @@
  
  #if defined(CONFIG_PARISC_PAGE_SIZE_4KB)
  # define _PAGE_SIZE_ENCODING_DEFAULT _PAGE_SIZE_ENCODING_4K
-diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/include/asm-parisc/processor.h CVS2_6_17_PA2/include/asm-parisc/processor.h
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/include/asm-parisc/processor.h CVS2_6_17_PA6/include/asm-parisc/processor.h
 --- LINUS_2_6_17/include/asm-parisc/processor.h	2006-06-17 22:24:50.000000000 -0600
-+++ CVS2_6_17_PA2/include/asm-parisc/processor.h	2006-05-19 14:18:17.000000000 -0600
++++ CVS2_6_17_PA6/include/asm-parisc/processor.h	2006-05-19 14:18:17.000000000 -0600
 @@ -27,14 +27,12 @@
   * Default implementation of macro that returns current
   * instruction pointer ("program counter").
@@ -2391,9 +2672,9 @@
  
  #define TASK_SIZE               (current->thread.task_size)
  #define TASK_UNMAPPED_BASE      (current->thread.map_base)
-diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/include/asm-parisc/system.h CVS2_6_17_PA2/include/asm-parisc/system.h
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/include/asm-parisc/system.h CVS2_6_17_PA6/include/asm-parisc/system.h
 --- LINUS_2_6_17/include/asm-parisc/system.h	2006-06-17 22:24:50.000000000 -0600
-+++ CVS2_6_17_PA2/include/asm-parisc/system.h	2006-04-23 20:26:58.000000000 -0600
++++ CVS2_6_17_PA6/include/asm-parisc/system.h	2006-04-23 20:26:58.000000000 -0600
 @@ -156,13 +156,14 @@
     type and dynamically select the 16-byte aligned int from the array
     for the semaphore.  */
@@ -2440,9 +2721,9 @@
  })
  
  #ifdef CONFIG_SMP
-diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/include/asm-parisc/uaccess.h CVS2_6_17_PA2/include/asm-parisc/uaccess.h
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/include/asm-parisc/uaccess.h CVS2_6_17_PA6/include/asm-parisc/uaccess.h
 --- LINUS_2_6_17/include/asm-parisc/uaccess.h	2006-06-17 22:24:50.000000000 -0600
-+++ CVS2_6_17_PA2/include/asm-parisc/uaccess.h	2006-04-22 14:47:20.000000000 -0600
++++ CVS2_6_17_PA6/include/asm-parisc/uaccess.h	2006-04-22 14:47:20.000000000 -0600
 @@ -172,7 +172,11 @@
  /*
   * The "__put_user/kernel_asm()" macros tell gcc they read from memory
@@ -2466,9 +2747,24 @@
  
  #define __put_user_asm(stx,x,ptr)                           \
  	__asm__ __volatile__ (                              \
-diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/kernel/resource.c CVS2_6_17_PA2/kernel/resource.c
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/include/asm-parisc/unistd.h CVS2_6_17_PA6/include/asm-parisc/unistd.h
+--- LINUS_2_6_17/include/asm-parisc/unistd.h	2006-04-16 11:34:30.000000000 -0600
++++ CVS2_6_17_PA6/include/asm-parisc/unistd.h	2006-06-20 21:43:52.000000000 -0600
+@@ -796,11 +796,6 @@
+ 
+ #define SYS_ify(syscall_name)   __NR_##syscall_name
+ 
+-/* Assume all syscalls are done from PIC code just to be
+- * safe. The worst case scenario is that you lose a register
+- * and save/restore r19 across the syscall. */
+-#define PIC
+-
+ #ifndef ASM_LINE_SEP
+ # define ASM_LINE_SEP ;
+ #endif
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/kernel/resource.c CVS2_6_17_PA6/kernel/resource.c
 --- LINUS_2_6_17/kernel/resource.c	2006-06-17 22:24:52.000000000 -0600
-+++ CVS2_6_17_PA2/kernel/resource.c	2006-01-17 07:53:00.000000000 -0700
++++ CVS2_6_17_PA6/kernel/resource.c	2006-01-17 07:53:00.000000000 -0700
 @@ -181,6 +181,8 @@
  {
  	struct resource *tmp, **p;
@@ -2528,9 +2824,9 @@
  	}
  
  	for (next = first; ; next = next->sibling) {
-diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/mm/shmem.c CVS2_6_17_PA2/mm/shmem.c
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/mm/shmem.c CVS2_6_17_PA6/mm/shmem.c
 --- LINUS_2_6_17/mm/shmem.c	2006-06-17 22:24:52.000000000 -0600
-+++ CVS2_6_17_PA2/mm/shmem.c	2006-06-17 22:34:52.000000000 -0600
++++ CVS2_6_17_PA6/mm/shmem.c	2006-06-17 22:34:52.000000000 -0600
 @@ -627,7 +627,7 @@
  	}
  }
@@ -2540,9 +2836,9 @@
  {
  	shmem_truncate_range(inode, inode->i_size, (loff_t)-1);
  }
-diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/sound/pci/ad1889.c CVS2_6_17_PA2/sound/pci/ad1889.c
+diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontdiff LINUS_2_6_17/sound/pci/ad1889.c CVS2_6_17_PA6/sound/pci/ad1889.c
 --- LINUS_2_6_17/sound/pci/ad1889.c	2006-06-17 22:24:53.000000000 -0600
-+++ CVS2_6_17_PA2/sound/pci/ad1889.c	2006-05-12 22:12:43.000000000 -0600
++++ CVS2_6_17_PA6/sound/pci/ad1889.c	2006-05-12 22:12:43.000000000 -0600
 @@ -100,6 +100,7 @@
  	struct snd_pcm *pcm;
  	struct snd_info_entry *proc;



More information about the Kernel-svn-changes mailing list