Update hppa patchset to 2.6.17-pa6

svn path=/dists/trunk/linux-2.6/; revision=6923
This commit is contained in:
Kyle McMartin 2006-06-29 13:30:46 +00:00
parent 2cdd815ff8
commit 75125be17e
2 changed files with 414 additions and 113 deletions

7
debian/changelog vendored
View File

@ -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 <cts@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@debian.org> Thu, 29 Jun 2006 09:29:06 -0400
linux-2.6 (2.6.17-1) unstable; urgency=low

View File

@ -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 <grundler parisc-linux org>
@ -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 <linux/proc_fs.h>
#include <linux/seq_file.h>
@ -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 <linux/types.h>
@ -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;