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