Subject: Re: Dialup networking/ppp
To: None <port-amiga@netbsd.org>
From: Lars Hecking <lhecking@nmrc.ie>
List: port-amiga
Date: 09/18/2001 00:45:07
> So at least if you still are using your mainboard memory, you're in trouble.
Yes, I still have 16MB on the mobo.
> Please apply the appended patch to sys_machdep.c. It will force the mentioned
> functions to always use line-sized flushes.
cc -Werror -Wall -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wno-uninitialized -Wno-main -O2 -m68060 -Wa,-m68030 -Wa,-m68851 -msoft-float -I. -I../../../../arch -I../../../.. -nostdinc -DM68060 -DM060SP -DLKM -DDIAGNOSTIC -DKBDRESET -DSERIBUF_SIZE="0x1000" -DSEROBUF_SIZE="0x200" -DLEV6_DEFER -DMAXUSERS=8 -D_KERNEL -Damiga -DFPCOPROC -c ../../../../arch/amiga/amiga/sys_machdep.c
../../../../arch/amiga/amiga/sys_machdep.c: In function `cachectl1':
../../../../arch/amiga/amiga/sys_machdep.c:145: invalid lvalue in assignment
../../../../arch/amiga/amiga/sys_machdep.c:145: syntax error before `;'
*** Error code 1
Which is understandable, because my config file defines only M68060,
not M68040 (is that wrong?). In that context, this code fragment looks
just wrong to me:
if (addr == 0 ||
#if defined(M68040)
#if defined(M68060)
(cputype == CPU_68040 && req & CC_IPURGE))
#else
(req & CC_IPURGE))
#endif
#endif
doall = 1; <--- line 145
It should be
if (addr == 0
#if defined(M68040)
#if defined(M68060)
|| (cputype == CPU_68040 && req & CC_IPURGE))
#else
|| (req & CC_IPURGE))
#endif
#endif
)
doall = 1;
Btw, I'm still on 1.5.1.
There appears to be some improvement. I started a download via scp and
a kernel compile, and the download does continue - mostly. Looking at the
modem leds, it sometimes stalls for a few seconds, but then continues.
But it does that even without cpu load, although the stalling periods
are shorter.
Should I recompile the kernel with M68040 enabled? With M6840 enabled,
but not M68060?