パスワードを忘れた? アカウント作成
15307120 story
OS

x86版Linuxカーネル、無条件にRAMの先頭1MBを予約することに 86

ストーリー by nagazou
予約 部門より
headless 曰く、

x86版(AMD64含む)のLinuxで、無条件にRAMの先頭1MBを予約することになったようだ(Phoronixの記事LKLMアーカイブ)。

既にx86版のLinuxではSandy Brdigeの統合グラフィックスのバグ対策として該当環境では先頭1MBを予約する仕組みになっているが、最近Ryzen環境でLinux 5.13 RCが起動しないという報告があり、予約サイズの違いによるものだと判明している。そのため、細かく対応するよりも無条件に先頭1MB全体を予約する方がシンプルだ。

これに対しLinus Torvalds氏はしぶしぶプルリクエストを受け付けた。Torvalds氏は1MBが使えなくなってもGB単位でRAMを搭載する現在のPCに影響はなく、自身も気にしないとしつつ、小規模な構成をしたい人はx86をあきらめるしかないのか、レガシーDMAリソースを消費することになるなどと述べ、「but ..」を繰り返している。WindowsではどうなっているかというTorvalds氏の疑問に対しては、Windows 7でBIOSのバグを回避するため先頭1MBをすべて予約しているとの回答が出ている。

  • by Anonymous Coward on 2021年06月09日 16時50分 (#4047575)

    LKMLアーカイブ見てみたらめちゃめちゃしぶってて笑ってしまった。
    Linusの心の原点みたいなところに衝突しちゃってるんだろうな

    ここに返信
  • by Anonymous Coward on 2021年06月09日 18時03分 (#4047625)

    https://web.archive.org/web/20090912170826/http://www.microsoft.com/wh... [archive.org]
    https://download.microsoft.com/download/7/e/7/7e7662cf-cbea-470b-a97e-... [microsoft.com]

    Microsoftくんは古いページをすーぐ行方不明にするから困る

    ここに返信
  • リンク先の元記事に「Linux x86/x86_64 Will Now Always Reserve The First 1MB Of RAM」としっかり書いてるのに、何で、この記事タイトルになった??

    ここに返信
  • by Anonymous Coward on 2021年06月09日 16時07分 (#4047546)

    その1MBでDOSでも動かそうぜ(違

    ここに返信
    • by manmos (29892) on 2021年06月10日 10時24分 (#4048006) 日記

      まもこの出番。
      「心が寒い」

    • by Anonymous Coward

      1MBじゃHimem.sysが使えないから、config.sys見直さないと・・・(汗

      • by Anonymous Coward

        仮想EMSの出番ですね。

        ところで今のCoreやRyzenでも仮想86モードって実装してるんだろうか。使われることはほぼなさそうだけど

        • by Anonymous Coward

          仮想 86 モードは、たしか 64-bit モードでは動かない… ので 32-bit Windows をインストールしないと。

          • by Anonymous Coward

            問題ない。ソフトウェアEMSなんてものもあったぢゃないかっ!

            # せっかくなのでパソコン通信のログをフロッピーに落とす分には
            # 問題ないのにラムディスクに落とすと通信のほうが文字化けする
            # という初代ダイナブックの呪いを再現して…

            • Re: (スコア:0, 既出)

              by Anonymous Coward

              640KBはすべての人にとって未来永劫充分なメモリだから大丈夫

              • by Anonymous Coward
                FM-Rの768KBなら余裕ありすぎだな
                1-2-3のマクロでFM-Rでは動くが98では動かなかった物があった思い出
          • by Anonymous Coward

            Intel VT-xやAMD-Vでどうにでもなる

        • by Anonymous Coward

          レガシー命令は、ASIC実装やめてソフトウェア実装となってるから、パフォーマンス落ちてるが、
          いまやだれも文句いわないね

          レガシー命令が最後にASIC実装されてたCPUはなんなんだろうな?

    • by Anonymous Coward

      そこは敢えてLinuxを生み出すきっかけになったMINIX [wikipedia.org]では。

    • by Anonymous Coward

      GlobalDosAllocを思い出した。下位1MBからメモリを確保するという、16ビットWindowsの関数。

  • いつもの (スコア:0, おもしろおかしい)

    by Anonymous Coward on 2021年06月09日 16時09分 (#4047549)

    「640KBはすべての人にとって未来永劫充分なメモリだ」

    ここに返信
    • by Anonymous Coward on 2021年06月10日 13時49分 (#4048254)

      「10はWindowsにとって未来永劫十分なバージョン番号だ」
      Firefox(89)「え?」
      Chrome(91)「え?」
      systemd(248)「ほんと?」
      macOS(11)「私もそう思っていた時代がありました」
      GnuHurd(0.9)「…ハハハ…」

  • by Anonymous Coward on 2021年06月09日 17時10分 (#4047582)

    > 小規模な構成をしたい人はx86をあきらめるしかないのか

    今の最小メモリって128Mだったよね?
    それなら1Mくらいどうってことなくない?

    しかし、いまどきそんなメモリ構成のハードウェアあるの?
    あ、Virtual ?

    ここに返信
    • by Anonymous Coward

      組み込み機器なら普通にある。ちょうど直近の案件がそんな端末だった

      • by Anonymous Coward

        あ、でもCPUはx86じゃなくてARMだったか

      • by Anonymous Coward

        最近512Mbや1GbのDDRの入手性が悪いから4Gb以上を前提に設計する事が多いかも。

        • by Anonymous Coward

          4Gbてことは512MiB?
          DDRは1枚?

    • by Anonymous Coward

      サウンドチップとかセキュリティチップ内のマイクロOSとか普通にあるでしょ。

      • by Anonymous Coward

        で、それはLinux/x86なの?

    • by Anonymous Coward

      最初のLinuxが仮に最小メモリ4MBだとすると、30年で32倍になった。
      30年後、Linuxの最小メモリが4GBになって、Linus爺が渋々x86のサポートを切って引退するに違いない。

  • by Anonymous Coward on 2021年06月09日 17時52分 (#4047614)

    原因がハードウェアと分かっているからまあいいんだけろうけど、
    「理由がわからんけどこうすれば動くからそれで…」って
    ホントはやってはいかんのだよなぁ、近い将来にブーメラン。

    ここに返信
    • by Anonymous Coward

      今回の件は「理由がわからんけど」じゃないんだけど何言ってんだこいつ

      • by Anonymous Coward

        「原因がわからない」のと「解決方法が理解できない」の区別がついてない人なんだろう
        だから「ホントはやってはいかん」ことをやってしまいブーメラン突き刺さる

  • まあ素人の思い付きなど、当然検討済みなんだろうけど。

    昔のX86系MB用BIOSには、OS/2との互換とかで、RAM先頭1MB空けるオプションの記憶がある。
    本来は同様にBIOS・UEFI辺りで何とかすべきものなのかも。

    ここに返信
    • 別に「ハード依存で勝手に書き換わる癖がある領域をまとめて潰す」
      っていうバグ対策だから対策解除したらバグが再現するってだけ

      どうしても使いたければ全てのCPUやマザーボードの仕様とバグを全部列挙して
      このマザーではここからここの何KBは使えるとか細かく設定すればいいけど
      そんな事を調べて考えて新製品やら構成変更やら追従するだけ時間の無駄ってだけ

      たった1024KBのうち512KBとか32KBとか具体的にどんだけか知らんけど
      そういうごく僅かな領域を回収したければ勝手にやればいいんじゃね?
      それよりメインメモリ先頭1MBをまとめて無効化した方が遥かに生産的ってだけ

    • x86でUEFI経由レガシー残ってんのは多分USBブート/HIDさんのせいなんだろうなーと
      どっか大手が覚悟決めて始めからx64一本で完結するPC製品だけに集約すれば流れもできるだろうに

    • by Anonymous Coward

      特定アドレスを使わないオプションはある(memmapかな?)けど、1MB以下も使えたかなあ?
      そのオプションはDIMMが故障したときに使ったよ。

      ただし、オプションなしだと起動しないってのはなしかと思う。

typodupeerror

クラックを法規制強化で止められると思ってる奴は頭がおかしい -- あるアレゲ人

読み込み中...