Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!crdgw1!uakari.primate.wisc.edu!aplcen!boingo.med.jhu.edu!haven.umd.edu!uflorida!rex!spool.mu.edu!mips!apple!sun-barr!rutgers!cbmvax!mks From: mks@cbmvax.commodore.com (Michael Sinz) Newsgroups: comp.sys.amiga.programmer Subject: Re: 68040 Compatibility Warning Message-ID: <22088@cbmvax.commodore.com> Date: 1 Jun 91 00:28:11 GMT References: <22049@cbmvax.commodore.com> <1991May31.141855.1@happy.colorado.edu> Reply-To: mks@cbmvax.commodore.com (Michael Sinz) Organization: Commodore, West Chester, PA Lines: 35 In article <1991May31.141855.1@happy.colorado.edu> kskelm@happy.colorado.edu writes: >In article <22049@cbmvax.commodore.com>, mks@cbmvax.commodore.com (Michael Sinz) writes: >> AmigaOS 2.0 correctly clears the caches as needed after it does >> the LoadSeg() of a program. Applications need to do the same if >> they create code at run-time. One such example was the article >> on multiple processes in AmigaMail. What is needed is that just >> before the call to CreateProc() that a call to the EXEC V37 >> CacheClearU() function is executed. In C that would be: >> > > Okay, question: Does CacheClearU() execute a couple of special >instructions, or does it execute, say, a whole pile of NOPs, enough to "unload" >anything else that may have been in the Instruction Cache? CacheClearU() does the "right thing" depending on the processor. With the 68040, it will do the cache flush on instruction caches and a cache push-back on the data cache. > What a mess. Yours is a position I do not envy! :) Yes, this is a mess. It is even more of a mess when you start to look at all of the kludges I will have to do to make many software packages work. (And the performance hit these kludges bring with them) -- Michael Sinz Operating Systems Development Group Commodore-Amiga, Inc. /----------------------------------------------------------------------\ | /// Michael Sinz - Amiga Software Engineer | | /// Operating System Development Group | | /// BIX: msinz UUNET: rutgers!cbmvax!mks | |\\\/// | | \XX/ "I don't think so" said Ren'e Descartes, then he vanished. | \----------------------------------------------------------------------/