#: 18193 S1/General Interest
27-May-93 03:05:24
Sb: BUS ERRORS
Fm: Chris Hann (Mass UK) 100064,1431
To: all
I have a Radstone 68040 based system with a load of purpose built VME cards in
a 19" rack. Fine so far... but sometimes, possibly due to hardware
'irregularities (bugs but not wanting to hurt feelings)' the blessed things
fail to respond quickly (we have a third party card that sometimes refuses to
let go of it's VSB access to a RAM card for example, this eventually causes the
processor to fail when it tries to read the VME end) and an access error trap
occurs.
I am not having a lot fun with this and the following is what I think I know! I
originally posted this as an answer to my own question on the OSK section,
however I got no replies to the original so I thought I would put it in here as
well!
Cheers chapps!
After this is all inclusion of other reply>
When an access error occurs on the '040 it creates a type 7 stack
frame on the supervisor stack, this contains the PC at the error,
the CCR, the effective address, the 'broken pipe' information
(pending accesses in the pipeline at the error) and some other
stuff.
The processor then disables tracing and vectors to the access error
according to the vector in the vector table which is located
according to the VBR (since you need to be in supervisor state to
see this I can't tell exactly where it goes yet). OS-9 then finds
some space puts it's address in a5 and stacks the registers. It then
does some other stuff including overwriting the stack frame with the
register set (already stored at a5 remember) and some other stuff.
In the process it overwrites the really interesting bit ( the
effective address, at tleast I presume that is the access address
that went wrong ). It then drops you back into user mode and jumps
to your service routine leaving only the register set to work from
and without supervisor mode access.
I find this a little irritating (given that I'm correct). I'd like
to think I am wrong, however I cant reconcile the contents of the
supervisor stack with the '040 manual. There is too much data there
for it to be any other trap stack frame and all the registers have
changed, the manual says nothing about copying them to (a5)+ so I am
left to presume that OS-9 has deliberately hamstrung my ability to
find out which bit of hardware has temporarily bitten the dust.
AAAAAGH...
Obviously I could be more pleased, especially since this is a
specific port to the '040. Radstone say that they ship it in and
ship it out. Microware say not us mate we supply it to Radstone and
it's their lookout from then on.
Am I wrong or what??
Got any suggestions?
Thanks people.
Chann (mister slightly irritated 1993).
|