Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site oakhill.UUCP Path: utzoo!watmath!clyde!burl!ulysses!allegra!mit-eddie!think!harvard!seismo!ut-sally!oakhill!davet From: davet@oakhill.UUCP (Dave Trissel) Newsgroups: net.micro.68k,net.micro.16k Subject: Re: Re: Re: Bus Error Effluvia Message-ID: <532@oakhill.UUCP> Date: Sun, 15-Sep-85 17:58:30 EDT Article-I.D.: oakhill.532 Posted: Sun Sep 15 17:58:30 1985 Date-Received: Wed, 18-Sep-85 02:42:11 EDT References: <124@desint.UUCP> <5913@utzoo.UUCP> <44@l5.uucp> <1614@druil.UUCP> <57@intelca.UUCP> <526@oakhill.UUCP> <69@intelca.UUCP> Reply-To: davet@oakhill.UUCP (Dave Trissel) Organization: Motorola Inc. Austin, Tx Lines: 26 Xref: watmath net.micro.68k:1125 net.micro.16k:387 In article <69@intelca.UUCP> kds@intelca.UUCP (Ken Shoemaker) writes: >bus fault handler, you have to be very careful, since (if r0 is used to >pass back values) > >loop: > mov to-fault-location,blah > cmp r0,1 > jnz loop > This is very easy for the '020 programmer to solve. The MC68020 NOP instruction serializes the machine (e.g. guarantees all updates for previous instructions have been done.) Therefore, by thowing in a NOP after the instruction which does the write such a loop on the '020 will always properly execute. There are some subtle matters in regards to context validity and bus errors but such a discussion would be lenghty and esoteric. I can only take the time to post such things if there is enough interest expressed on the net. There was a long discussion about 6 months ago but I don't have it archived. (If someone does it was in net.micro.68k.) -- Dave Trissel {ihnp4,seismo}!ut-sally!oakhill!davet Motorola Semiconductor