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

Re: 68040 buserror patch



On Mon, Oct 09, 2000 at 01:17:09PM +0200, Christian T. Steigies wrote:
> On Mon, Oct 09, 2000 at 02:19:49AM +0200, Bjoern Brill wrote:
> > 
> > On Sat, 7 Oct 2000, Andrew McPherson wrote:
> > [...]
> > > 
> > > On Sat, 7 Oct 2000, Michel Lanners wrote:
> > > 
> > > > Though your kernel does run, it locks up on my Performa 475 after some
> > > > time (of inactivity?).
> > > > 
> > [...]
> > > :( It works on my 660AV quite nicely. I'd appreciate further feedback from
> > > 68(LC)040 owners on this to decide whether or not we should pull it from
> > > CVS.
> > >
> >  
> > Oh well. For me, 2.2.16+berr(+nothing else) has 4 days and some hours of
> > uptime now and has survived both hard work (built lesstif) and a whole
> > weekend of idleness.
> > 
> > For the record:
> > * running on a Quadra 700 (20 Megs RAM, full 68040)
> > * kernel built with native gcc 2.95.2
> > * kernel source checked out 02 Oct 2000 (have there been any other commits
> >   except the buserror patch since then ?)
>  
> I get an oops on my 060 Amiga: http://www.debian.org/~cts/oops.out
> But maybe its not related to this patch? I do suspect the gvp11 driver, but
> I can not see a hint in the oops... anybody with an idea?
> Kernel built with gcc272, machine was building another kernel when the oops
> happend.

just a quick glance at 2.2.16, this looks dangerous - pgtable.h:

#define flush_dcache_page(page)do { } while (0)

you know how touchy the 68040/060 are.. where was that cpush 
description again? Try that:

extern inline void flush_dcache_page (unsigned long address)
{
    if (CPU_IS_040_OR_060) {
        __asm__ __volatile__ (
	   ".chip 68040\n\t"
	   "cpushp %%dc,(%0)\n\t"
           ".chip 68k"
	     : : "a" (virt_to_phys((void *)address)));
     }
}

Compilation is running but I won't try it before tomorow it seems..

Btw is there a definition what flush_dcache should do somewhere?

Bye
Richard





Reply to: