syslog に BIOS が壊れていると表示されるのはなぜですか?

syslog に BIOS が壊れていると表示されるのはなぜですか?

syslog ファイルでこれを見つけましたが、どうすれば修正できますか? それとも修正する価値はあるのでしょうか?

すべて正常に動作しているようです。3.12.9-031209-generic を実行しています。

WARNING: CPU: 0 PID: 0 at /home/apw/COD/linux/drivers/iommu/dmar.c:488 warn_invalid_dmar+0x8f/0xa0()
Your BIOS is broken; DMAR reported at address 0!
BIOS vendor: American Megatrends Inc.; Ver: F5; Product Version: To be filled by O.E.M.
Modules linked in:
CPU: 0 PID: 0 Comm: swapper Not tainted 3.12.9-031209-generic #201401251255
Hardware name: Gigabyte Technology Co., Ltd. Z87MX-D3H/Z87MX-D3H-CF, BIOS F5 08/02/2013
00000000000001e8 ffffffff81c01d98 ffffffff817433c6 00000000000017e0
ffffffff81c01de8 ffffffff81c01dd8 ffffffff810678ac ffffffff81c01e28
ffffffff81fd201c ffffffff81fd2058 ffffffff81dda2e0 ffff88022f5aad00
Call Trace:
[<ffffffff817433c6>] dump_stack+0x46/0x58
[<ffffffff810678ac>] warn_slowpath_common+0x8c/0xc0
[<ffffffff8106793f>] warn_slowpath_fmt_taint+0x3f/0x50
[<ffffffff8172dfbb>] ? acpi_os_map_memory+0x27/0x150
[<ffffffff816124af>] warn_invalid_dmar+0x8f/0xa0
[<ffffffff81d84944>] check_zero_address+0x57/0xf7
[<ffffffff81d849fb>] detect_intel_iommu+0x17/0xb8
[<ffffffff81d3a0db>] pci_iommu_alloc+0x44/0x6e
[<ffffffff81d49a5c>] mem_init+0x11/0xa2
[<ffffffff81d2fcfa>] start_kernel+0x1de/0x41e
[<ffffffff81d2f9ae>] ? do_early_param+0x87/0x87
[<ffffffff81d2f120>] ? early_idt_handlers+0x120/0x120
[<ffffffff81d2f5e8>] x86_64_start_reservations+0x2a/0x2c
[<ffffffff81d2f6f2>] x86_64_start_kernel+0x108/0x117
---[ end trace 11d0aeb7d970f0a3 ]---

答え1

これを説明する最良の情報源はRedhatですこれは Ubuntu に固有のものではなく、カーネル (私たち全員が共有) と、ハードウェアがカーネルに誤った情報を返すことに関連しています。

リンクからコピーしたテキストで Redhat を Ubuntu に交換し、3 つの箇条書きに注意してください (これを回避するために使用できる可能性があります)。


IOMMU 処理が壊れている BIOS の処理が不完全であるため、システムが起動しない、USB が機能しない、ネットワーク アダプタが動作しない (またはその他の症状が発生する可能性がある)

一部のメーカーは、IOMMU ハードウェアの取り扱いが不適切な BIOS を搭載したシステムを出荷しています。BIOS は、メモリ内の IOMMU ハードウェアの場所をオペレーティング システムに伝えることになっていますが、一部の BIOS はこれを正しく行わず、意味のない場所や、有効ではあっても実際にはデバイスが配置されている場所ではない場所を伝えます。カーネルはこれらのケースを処理しようとしますが、Fedora 12 リリース カーネルでは一部がまだ完全に処理されていません。この問題の影響を受けるシステムがある場合、最も一般的な症状は USB サブシステムが機能しなくなる (USB 周辺機器が機能しなくなる) ことですが、その他の症状としては、システムが完全に起動しなくなる、ネットワーク アダプターが機能しなくなるなどがあります。

現在、この問題の影響を受ける可能性があることが判明しているシステムがいくつかあります。HP xw4600 Workstation と Dell Precision M6400 を除くすべてのシステムでは、バグが発生する前に次の条件がすべて満たされている必要があります。

  • Fedora 12の32ビット版を使用する必要があります
  • 4GB のアドレス領域を超えるメモリがあってはなりません (実際には、物理​​ RAM が約 2.5GB 以下である必要があります)
  • 仮想化機能(VT-d)はBIOSで無効にする必要があります

上記のいずれかに該当しない場合は、この問題は発生しないはずです。この問題の影響を受けていると思われる場合は、次のような内容を含むカーネル ログ メッセージを探してください。

Your BIOS is broken; DMAR reported at address fed10000 returns all ones!

または:

Your BIOS is broken; DMAR reported at address zero!

このような壊れた BIOS を搭載したシステムを使用している場合、カーネルが実際にケースを正しく処理している場合でも、または問題を正常に回避した場合でも、カーネル メッセージは常に表示されることに注意してください。したがって、問題を回避した後もメッセージが表示されても心配する必要はありません。

この問題を回避する方法はいくつかあります。ほとんどの場合 (上記参照)、Fedora 12 の 64 ビット版をインストールするだけで十分です。BIOS にオプションがある場合は、BIOS で仮想化機能を有効にすることでもこの問題を回避できます。最後に、カーネル パラメータ iommu=soft をブート構成に追加することで、この問題を回避できます。

この問題に対処するために、更新されたカーネル パッケージがリリースされました。まだこの更新を受け取っていない場合は、通常どおりシステムを更新してこの更新を受け取ってください。当然のことながら、この問題の影響を受ける場合は、まず上記の回避策のいずれかを使用して、修正されたカーネルをインストールできる状態にシステムを戻す必要があります。

関連情報