From: James S. <jsi...@us...> - 2002-05-01 18:07:55
|
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 */ |