リグレッションテストでUNIX v7が起動しないことが判明したのでもう少し調べていました。
まだ根本的な原因は判明していないのですが、「ABORT信号をCONTがアサートされるまで保持する」だけだとUNIX v7の場合はCONTがアサートされないためにABORTがネゲートされないという現象が観測できました。そこで、回避策として「ABORT信号を一定時間後にネゲートする」という変更を加えたところ、UNIX v7が起動できるようになりました。
UNIX v6ではこのような回避策がなくても起動したので、比較のためにUNIX v6とUNIX v7のABORT信号付近を観測したのが以下のデータです(回避策ありでデータ取得)。
![]() |
UNIX v6 |
![]() |
UNIX v7 |
UNIX側でbus errorを利用してメモリサイズを判定する実装方法については差異がないはずなので、なぜバスレベルでこのような挙動の違いがあるのかわかりません。


0 件のコメント:
コメントを投稿