Solaris

pkg 更新後 Solaris 主機不再引導:intel_iommu0 生成故障事件

  • January 1, 2012

我剛剛對我的 Solaris 11 機器進行了一些定期維護。我發出了一個pkg update命令,被告知我需要更新pkg. 我這樣做了,然後重新啟動到solaris-1.

然後我發布了另一個pkg update,它下載並安裝了大約 600MB 的軟體包。但是,在重新啟動solaris-2時,它無法啟動,說明:

SunOS Release 5.11 Version 11.0 64-bit
Copyright (c) 1983, 2011, Oracle and/or its affiliates. All rights reserved.
NMI received
WARNING: intel_iommu0: generated a fault event when translating DMA read
        on address 0x40000 for PCI(9, 0, 0), the reason is:
        The Read field in a page-table entry is Clear when DMA read
WARNING: cpqary30: domid 3 pte: 0(paddr 0)
WARNING: CPQary3 : Smart Array P212 Controller HBA firmware Locked !!!

WARNING: CPQary3 :Please reboot the system

然後它會進行核心轉儲並重新啟動。

我嘗試添加intel-iommu=no到現有的 grub-B參數中,以閱讀:

-B intel-iommu=no,$ZFS-ARGS

但是,這沒有任何區別。

硬體是帶有 Smart Array P212 控制器的 HP X1600。

這是怎麼回事?

scanpci -v將 PCI(9,0,0) 顯示為:

pci bus 0x0009 cardnum 0x00 function 0x00: vendor 0x103c device 0x323a
Hewlett-Packard Company Smart Array G6 controllers
CardVendor 0x103c card 0x3241 (Hewlett-Packard Company, Smart Array P212)
 STATUS    0x0010  COMMAND 0x0047
 CLASS     0x01 0x04 0x00  REVISION 0x01
 BIST      0x00  HEADER 0x00  LATENCY 0x00  CACHE 0x10
 BASE0     0xfbc00000 SIZE 4194304  MEM
 BASE2     0xfbbf0000 SIZE 4096  MEM
 BASE4     0x00005000 SIZE 256  I/O
 BASEROM   0x00000000  addr 0x00000000
 MAX_LAT   0x00  MIN_GNT 0x00  INT_PIN 0x01  INT_LINE 0x05

我似乎已經解決了這個問題。

我在 BIOS 中禁用了 Intel VT-d 和 Intel Virtualization,現在似乎一切正常。

引用自:https://serverfault.com/questions/343992