2 ポイント 投稿者 GN⁺ 2023-09-29 | 1件のコメント | WhatsAppで共有
  • Retrocomputing Stack Exchange による、486DX4 マシンで NT 3.1 カーネルが再起動を引き起こす問題についての詳細な技術的議論
  • 著者は Compaq ProSignia 3080 システムに Windows NT 3.1 をインストールし、性能向上のために Intel 486DX-33 を AMD enhanced 486DX4-SV8B に交換
  • 著者はカーネルデバッグに入ろうとした際に問題に直面し、その結果、kd> プロンプトが表示される代わりにマシンが再起動
  • 著者はメモリ、システムファイル破損、ハードウェアウォッチドッグの動作、USB-to-serial アダプター通信など、いくつかの可能性を検証したが、いずれも原因ではなかった
  • 著者は、Windows NT 3.1 カーネルが拡張 486 プロセッサ、特に CPUID 命令を提供するものと互換性がないことを発見
  • 互換性の問題は、プロセッサ制御レジスタを拡張 CONTEXT 構造に保存する KiSaveProcessorControlState 関数のバグにたどり着いた
  • このバグにより、KPRCB のオフセット 19h にあるバイトをモデル番号の一部として扱う関数のせいで、CPUID capable 80-4-86 プロセッサが 80-260-86 プロセッサとして扱われる
  • 著者は cmp ds:word_FFDFF138, 5 命令をバイト比較にパッチし、NTOSKRNL.EXE 内で 2 回適用する必要がある修正を提案
  • 著者の詳細な調査と提案された修正は、拡張 486 プロセッサで NT 3.1 カーネルに関する類似の問題に直面している他の人々に有用な資料を提供

1件のコメント

 
GN⁺ 2023-09-29
Hacker Newsのコメント
  • 486DX4マシンでNT 3.1カーネルをハックしようとした際に発生する問題に関する記事
  • あるユーザーがいくつかのTCPポートを開けて会社のサービスの半分を停止させてしまった体験を共有
  • 現実世界での結果はないものの、技術愛好家にとって魅力的なレトロコンピューティングへの関心と情熱を多くのユーザーが表明
  • 最初に質問した本人が回答を提供し、それがコミュニティに評価された
  • CPUID機能について活発な議論が行われ、一部のユーザーはその有用性に疑問を呈した
  • 質問と回答が同時に投稿された理由について混乱があった
  • オーバークロック初期の時代についての議論もあり、ユーザーたちはスロットケットアダプタ、Celeron、Pentium IIといった体験を振り返った
  • あるユーザーがWindows MEでCeleron 600を1.4GHzにオーバークロックした経験を共有
  • コミュニティは、このようなレトロコンピューティングの問題と解決策を文書化している点を評価した