diff --git a/debian/changelog b/debian/changelog index dc45b0c5f..0e79d241b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -22,7 +22,12 @@ linux-2.6 (2.6.17-2) UNRELEASED; urgency=low * [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 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 Thu, 29 Jun 2006 09:29:06 -0400 linux-2.6 (2.6.17-1) unstable; urgency=low diff --git a/debian/patches/hppa.patch b/debian/patches/hppa.patch index 0044ef505..ad763f125 100644 --- a/debian/patches/hppa.patch +++ b/debian/patches/hppa.patch @@ -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 @@ diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontd 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 @@ diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontd 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 @@ diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontd - (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 @@ diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontd 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 @@ diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontd 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 @@ diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontd 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 @@ diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontd } 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 @@ diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontd 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 @@ -191,7 +192,18 @@ diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontd * 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 @@ diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontd #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 @@ diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontd + +#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 @@ diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontd 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 @@ diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontd .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 @@ diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontd 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 @@ diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontd 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 @@ diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontd .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 @@ diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontd } #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 @@ diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontd { /* 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 @@ diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontd 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 @@ diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontd { 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 @@ diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontd 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 @@ diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontd 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 @@ diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontd /* 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 @@ diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontd +} + #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 @@ diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontd 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 @@ diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontd } 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 @@ diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontd 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 @@ diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontd 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 #include @@ -1944,9 +2211,9 @@ diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontd 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 @@ diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontd /* 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 @@ diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontd 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 @@ diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontd 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 @@ diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontd 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 @@ diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontd } 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 @@ diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontd #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/dontd } /* -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 @@ diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontd #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 @@ -2303,9 +2570,9 @@ diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontd +} + #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 @@ diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontd + +#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 @@ diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontd }; 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 @@ diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontd 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 @@ diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontd #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 @@ diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontd #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 @@ diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontd #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 @@ diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontd }) #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 @@ diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontd #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 @@ diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontd } 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 @@ diff -urN --exclude-from=/var/www/download/linux-2.6/autobuild/build-tools/dontd { 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;