Update of /cvsroot/linuxconsole/ruby/linux/arch/ia64/kernel
In directory usw-pr-cvs1:/tmp/cvs-serv3020/linux/arch/ia64/kernel
Modified Files:
setup.c traps.c
Log Message:
Synced against 2.5.11
Index: setup.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/arch/ia64/kernel/setup.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- setup.c 24 Apr 2002 18:56:50 -0000 1.5
+++ setup.c 1 May 2002 18:07:49 -0000 1.6
@@ -377,7 +377,7 @@
switch (c->family) {
case 0x07: memcpy(family, "Itanium", 8); break;
- case 0x1f: memcpy(family, "McKinley", 9); break;
+ case 0x1f: memcpy(family, "Itanium 2", 9); break;
default: sprintf(family, "%u", c->family); break;
}
Index: traps.c
===================================================================
RCS file: /cvsroot/linuxconsole/ruby/linux/arch/ia64/kernel/traps.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- traps.c 24 Apr 2002 18:56:50 -0000 1.3
+++ traps.c 1 May 2002 18:07:49 -0000 1.4
@@ -183,6 +183,10 @@
sig = SIGSEGV; code = __SEGV_PSTKOVF;
break;
+ case 0x3f000 ... 0x3ffff: /* bundle-update in progress */
+ sig = SIGILL; code = __ILL_BNDMOD;
+ break;
+
default:
if (break_num < 0x40000 || break_num > 0x100000)
die_if_kernel("Bad break", regs, break_num);
@@ -440,30 +444,14 @@
"Unknown fault 13", "Unknown fault 14", "Unknown fault 15"
};
-#if 0
- /* this is for minimal trust debugging; yeah this kind of stuff is useful at times... */
-
- if (vector != 25) {
- static unsigned long last_time;
- static char count;
- unsigned long n = vector;
- char buf[32], *cp;
-
- if (jiffies - last_time > 5*HZ)
- count = 0;
-
- if (count++ < 5) {
- last_time = jiffies;
- cp = buf + sizeof(buf);
- *--cp = '\0';
- while (n) {
- *--cp = "0123456789abcdef"[n & 0xf];
- n >>= 4;
- }
- printk("<0x%s>", cp);
- }
+ if ((isr & IA64_ISR_NA) && ((isr & IA64_ISR_CODE_MASK) == IA64_ISR_CODE_LFETCH)) {
+ /*
+ * This fault was due to lfetch.fault, set "ed" bit in the psr to cancel
+ * the lfetch.
+ */
+ ia64_psr(regs)->ed = 1;
+ return;
}
-#endif
switch (vector) {
case 24: /* General Exception */
|