[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Problems with xwindows and avanti



Hello Jean-Paul

On Thu, 15 Mar 2001, Jean-Paul Blaquiere wrote:

> I haven't applied any of these patches the other guys have mentioned either.
> What do they do our of interest?

If I was one of the other guys, than you refer to the traps.c issue. 
Here you see what i was talking about:

diff -uadr linux-2.2.17/arch/alpha/kernel/traps.c
linux-2.2.17-patched/arch/alpha/kernel/traps.c
--- linux-2.2.17/arch/alpha/kernel/traps.c      Wed Jun  7 23:26:42 2000
+++ linux-2.2.17-patched/arch/alpha/kernel/traps.c      Sat Jun 10
19:54:37 2000
@@ -336,9 +336,14 @@
                /* Software-completion summary bit is set, so try to
                   emulate the instruction.  */
                if (!amask(AMASK_PRECISE_TRAP)) {
+#ifdef CONFIG_ALPHA_EV4
+                       if (alpha_fp_emul(regs.pc))
+                               return;
+#else 
                        /* 21264 (except pass 1) has precise
exceptions.  */
                        if (alpha_fp_emul(regs.pc - 4))
                                return;
+#endif
                } else {
                        if (alpha_fp_emul_imprecise(&regs, write_mask))
                                return;
@@ -417,8 +422,12 @@
                        /* EV4 does not implement anything except normal
                           rounding.  Everything else will come here as
                           an illegal instruction.  Emulate them.  */
-                       if (alpha_fp_emul(regs.pc - 4))
+                       if (alpha_fp_emul(regs.pc)) {
+                               /* Increment the PC so that the program in 
+                                  user space continues */
+                               regs.pc += 4;
                                return;
+                       }       
                }
                send_sig(SIGILL, current, 1);
                break;

Well as you see EV4 does not have precise trapping. Without this patch
applied any programm producing a trap will hang (while eating all
processor time it can get). The patch is necessary to make floor() and
ciel() work as they should (tested on jensen) with vanilla 2.2.16 to
2.2.18 sources. Chances are that debian kernel packages are already
fixed. Unfortunately I have no experience with debian so far (stuck
behind a modem line).
	If this patch solves your Problems Sun, please let me know.

Ahoi
	Sebastian Moeller



Reply to: