As I wrote, the unaligned logic on the VAX is not quite right. Right now, the 
simulator fetches the 2 longwords (64b) that surround the unaligned object. 
That's fine for memory, but in IO space, it doesn't work. One suggestion was to 
force longword alignment of the addresses being used, but that doesn't work 
either - the 780 aborts on unaligned references and would now see the requests 
as aligned.

CVAX does byte-masked transactions that touch exactly the bytes that are 
needed, and the Qbus adapter changes those transactions into appropriate word 
transactions (on reads) and byte/word transactions on writes. However, this 
behavior may or may not be right for other models (it's certainly wrong for 
780). Accordingly, I believe that handling of unaligned access to IO space will 
have to be broken out to model-specific code.

/Bob Supnik
_______________________________________________
Simh mailing list
[email protected]
http://mailman.trailing-edge.com/mailman/listinfo/simh

Reply via email to