「Calgary:Rio GrandeテーブルはEBDAにありません。」 < - これはどういう意味ですか?

「Calgary:Rio GrandeテーブルはEBDAにありません。」 < - これはどういう意味ですか?

システムを起動すると、次のメッセージが表示されます。

[Sat Oct 26 20:34:25 2019] Calgary: detecting Calgary via BIOS EBDA area
[Sat Oct 26 20:34:25 2019] Calgary: Unable to locate Rio Grande table in EBDA - bailing!
  • 「カルガリー」とは何ですか?
  • 「リオグランデテーブル」とは何ですか?
  • EBDAにあるべき理由は何ですか、それではなぜ私のカーネルではこれを行うことができませんか?
  • この失敗の結果は何ですか?

私はMSI Z170 PRO GAMINGマザーボードのi5-7600K CPUでDevuan 3(Beowulf)を実行しています。

答え1

そうだカルガリー家族ですアイオムs、ほとんどのIBM Xシリーズ(X86_64など)ブレードとマザーボードに使用されています - 2008年(ねえ)。これリオグランデテーブルオペレーティングシステムにCalgary IOMMUが見つかる場所を示す拡張BIOSデータ領域の情報テーブルでした(@telcoMに感謝します)。

OPの場合、そのようなマシンを使用していないため、カーネルコンパイルパラメータでそのマシンの検索を無効にすることを検討できます。 @jmulleeが示したように、関連するLinuxカーネル構成パラメータは次のとおりです。

CONFIG_CALGARY_IOMMU=y
CONFIG_CALGARY_IOMMU_ENABLED_BY_DEFAULT=y

yからに変更できますn

答え2

再コンパイル時にカーネル構成からこのオプションを削除すると、接続するUSB​​デバイスの検出と起動時にメモリマップが無効になります。

したがって、起動時に他のデバイス(USBドライブ、メモリネットワークスタック付き画面など)に接続されている一部のIBMマザーボード(たとえば、My T500ノートブックのマザーボード)を使用している場合、カーネルはそれをマップしないため、次のことを行う必要があります。手動で。

セキュリティの問題は、USBに不良ハードウェアをインストールした場合、またはUSB経由で接続された不良ネットワークをインストールした場合にのみ発生する可能性があります。そうでない場合、カーネル構成を現在のデフォルト値のままにすることは有害ではありません。

IBM Rio Grandeとそれに対応するWindowsカーネル構成機能は、Windows、Linuxカーネルベースのディストリビューションで悪意のある行為者が使用した可能性があります。誰が知っていますか?

答え3

使用:

  1. Intel Corporation C610/X99シリーズチップセットで駆動されるHP Z640ワークステーション
  2. ダブルインテル(R) Xeon(R) CPU E5-2620 v3プロセッサ
  3. カーネルを使用して4.15.0-200-genericUbuntu 18.04.6 LTSを実行します。カーネル構成は次のとおりです。
    $ grep CALGARY /boot/config-`uname -r`
    CONFIG_CALGARY_IOMMU=y
    CONFIG_CALGARY_IOMMU_ENABLED_BY_DEFAULT=y
    

dmesg出力で以下を確認してください。

Dec 28 07:42:04 Haswell-Ubuntu kernel: [    0.000000] Calgary: detecting Calgary via BIOS EBDA area
Dec 28 07:42:04 Haswell-Ubuntu kernel: [    0.000000] Calgary: Unable to locate Rio Grande table in EBDA - bailing!

このメッセージは以下で提供されます。PCI-calgary_64.cカーネルのソースファイル。detect_calgary機能構造の観点からカルガリー:BIOS EBDAエリアを介したカルガリーの検出そしてカルガリー:EBDAでRio Grandeのテーブルが見つかりません - 脱出!メッセージが報告されました今後このコードは、ベンダーIDを持つCalgary IOMMUデバイスのPCIバスを検索しますPCI_VENDOR_ID_IBM

したがって、私たちはこれらのメッセージが偽であり、カルガリーIOMMUのBIOS EBDA領域を報告するBIOSなしのPCに現れると思います。ソースファイルの説明によると、Calgary IOMMUはIBM x3950ベースのシステムでのみ使用されているようです。

detect_calgaryおそらく、この機能が最初にPCIバスからCalgary IOMMUをスキャンしてからBIOS EBDAエリアをチェックすると、混乱が少なくなります。

しかし、私のPCでIntel IOMMUが有効になっているときにのみ、Calgary IOMMU関連のメッセージが表示されました。 Intel IOMMUを正常に有効にした後でも、dmesgはまだCalgary IOMMUに関するメッセージを報告しますが、上記の分析によると、これらのメッセージは偽であるため無視できます。

答え4

関連カーネルソースの設定オプションは次のとおりです。

CONFIG_CALGARY_IOMMU=y

CONFIG_CALGARY_IOMMU_ENABLED_BY_DEFAULT=y

関連情報