Subject: Re: Wow, I got ADB working on the 660av :)
To: None <port-mac68k@NetBSD.ORG>
From: Christopher R. Bowman <crb@Glue.umd.edu>
List: port-mac68k
Date: 05/28/1996 01:26:34
>On May 27, 10:40am, Brian J. Johnson wrote:
>> Subject: Re: Wow, I got ADB working on the 660av :)
>
>> It sounds like a cache flushing problem to me:  if you've updated the
>> trap vectors or constructed some glue code on the fly (please excuse
>> the vagueness and my general ignorance -- I haven't actually looked at
>> the MRG code) and then try to jump to it without flushing the caches,
>> it seems to me that you might end up executing old data.  Printf()
>> with a non-trivial format string calls a pile of subroutines to do the
>> formatting, which could cause enough cache activity that the updates
>> actually make it to RAM.
>
>I had similar problems on the LCII, too. For this reason I'm currently running
>a kernel with caches completly disabled. What whould you think about enabling
>the caches VERY lately for all machines? Very lately means just before the end
>of the kernel setup. We whould perhaps loose a few seconds at boot time (not
>noticable on a 68030) but get rid of some strange behaviour forever. I think
>this is a good idea as long as we're doing lots of development on the kernel.

As long as we have the current push to new machines this sounds like a
pretty good idea.  And since  we are on this topic, I have been reading
Bach and lowcore.s lately, and wondering if anyone bothers to turn off
cache when doing the copy for the execve for init?  I must confess that I
am having trouble following all the code in lowcore, and can't really
answer this myself.

---------
Christopher R. Bowman
crb@eng.umd.edu
My home page