Problem detecting Sil3124 SATA controllers off of Sandy Bridge northbridge-connected PCIe slots
Hi, We're having some trouble with detection of a couple of Sil3124 SATA controller cards on newer motherboard and processor combos. Specifically, we're running a Supermicro X9SCM-F motherboard (latest BIOS) and Intel E3-1220v2 CPU. What we're seeing: - Syba Sil3124 PCIe cards are only being detected when installed in PCIe Slot 4 -- The motherboard documentation shows that this is the only slot connected to the Intel C202/204 chipset on the motherboard -- Slots 5, 6, and 7 are connected to the integrated northbridge on the Ivy Bridge CPU (there is no slot 1, 2, or 3) FreeBSD won't detect even a single Sil3124 card installed in PCIe slot 5, 6, or 7. If we put an Intel Dual-port NIC in either of one of these slots, it is detected just fine. I've attached a verbose dmesg.boot from this box running FreeBSD 9.0-RELEASE. We've also tried 8.1-RELEASE, 8.2-RELEASE, and 9.1-BETA1 with the same results. Booting with ACPI disabled results in a kernel panic during the boot process. I'd greatly appreciate any help or suggestions on this matter. We've already tried just about every BIOS option on the board. Steve Polyack Table 'FACP' at 0xddfb5290 Table 'APIC' at 0xddfb5388 APIC: Found table at 0xddfb5388 APIC: Using the MADT enumerator. MADT: Found CPU APIC ID 0 ACPI ID 1: enabled SMP: Added CPU 0 (AP) MADT: Found CPU APIC ID 2 ACPI ID 2: enabled SMP: Added CPU 2 (AP) MADT: Found CPU APIC ID 4 ACPI ID 3: enabled SMP: Added CPU 4 (AP) MADT: Found CPU APIC ID 6 ACPI ID 4: enabled SMP: Added CPU 6 (AP) Copyright (c) 1992-2012 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD is a registered trademark of The FreeBSD Foundation. FreeBSD 9.0-RELEASE #0: Tue Jan 3 07:46:30 UTC 2012 r...@farrell.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC amd64 Table 'FACP' at 0xddfb5290 Table 'APIC' at 0xddfb5388 Table 'FPDT' at 0xddfb5400 Table 'MCFG' at 0xddfb5448 Table 'HPET' at 0xddfb5488 Table 'SSDT' at 0xddfb54c0 Table 'SPMI' at 0xddfb5830 Table 'SSDT' at 0xddfb5870 Table 'SPCR' at 0xddfb62f8 Table 'EINJ' at 0xddfb6348 Table 'ERST' at 0xddfb6478 Table 'HEST' at 0xddfb6688 Table 'BERT' at 0xddfb6730 Table 'BGRT' at 0xddfb6760 ACPI: No SRAT table found Preloaded elf kernel /boot/kernel/kernel at 0x813cf000. Calibrating TSC clock ... TSC clock: 3100091416 Hz CPU: Intel(R) Xeon(R) CPU E3-1220 V2 @ 3.10GHz (3100.09-MHz K8-class CPU) Origin = GenuineIntel Id = 0x306a9 Family = 6 Model = 3a Stepping = 9 Features=0xbfebfbffFPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE Features2=0x77bae3ffSSE3,PCLMULQDQ,DTES64,MON,DS_CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,POPCNT,TSCDLT,AESNI,XSAVE,AVX,F16C,b30 AMD Features=0x28100800SYSCALL,NX,RDTSCP,LM AMD Features2=0x1LAHF TSC: P-state invariant, performance statistics real memory = 17179869184 (16384 MB) Physical memory chunk(s): 0x1000 - 0x00094fff, 606208 bytes (148 pages) 0x0010 - 0x001f, 1048576 bytes (256 pages) 0x0140b000 - 0xdddecfff, 3701350400 bytes (903650 pages) 0xdf056000 - 0xdf056fff, 4096 bytes (1 pages) 0xdf09a000 - 0xdf7f, 7757824 bytes (1894 pages) 0x0001 - 0x000400fa7fff, 12901318656 bytes (3149736 pages) avail memory = 16506712064 (15742 MB) Event timer LAPIC quality 600 ACPI APIC Table: SUPERM SMCI--MB INTR: Adding local APIC 2 as a target INTR: Adding local APIC 4 as a target INTR: Adding local APIC 6 as a target FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs FreeBSD/SMP: 1 package(s) x 4 core(s) cpu0 (BSP): APIC ID: 0 cpu1 (AP): APIC ID: 2 cpu2 (AP): APIC ID: 4 cpu3 (AP): APIC ID: 6 x86bios: IVT 0x00-0x0004ff at 0xfe00 x86bios: SSEG 0x001000-0x001fff at 0xff8000246000 x86bios: EBDA 0x098000-0x09 at 0xfe098000 x86bios: ROM 0x0a-0x0fefff at 0xfe0a APIC: CPU 0 has ACPI ID 1 APIC: CPU 1 has ACPI ID 2 APIC: CPU 2 has ACPI ID 3 APIC: CPU 3 has ACPI ID 4 lapic0: CMCI unmasked ULE: setup cpu 0 ULE: setup cpu 1 ULE: setup cpu 2 ULE: setup cpu 3 ACPI: RSDP 0xf0490 00024 (v02 SUPERM) ACPI: XSDT 0xddfaa088 00094 (v01 SUPERM SMCI--MB 0001 AMI 00010013) ACPI: FACP 0xddfb5290 000F4 (v04 SUPERM SMCI--MB 0001 AMI 00010013) ACPI: DSDT 0xddfaa1b8 0B0D7 (v02 SUPERM SMCI--MB INTL 20051117) ACPI: FACS 0xddfb8f80 00040 ACPI: APIC 0xddfb5388 00072 (v03 SUPERM SMCI--MB 0001 AMI 00010013) ACPI: FPDT 0xddfb5400 00044 (v01 SUPERM SMCI--MB 0001 AMI 00010013) ACPI: MCFG 0xddfb5448 0003C (v01 SUPERM SMCI--MB 0001 MSFT 0097) ACPI: HPET 0xddfb5488 00038 (v01 SUPERM SMCI--MB 0001 AMI. 0005) ACPI: SSDT 0xddfb54c0 0036D (v01 SataRe SataTabl 1000 INTL 20091112) ACPI: SPMI 0xddfb5830 00040 (v05 A M I OEMSPMI
Re: Problem detecting Sil3124 SATA controllers off of Sandy Bridge northbridge-connected PCIe slots
On Thursday, August 02, 2012 10:21:20 am Steve Polyack wrote: Hi, We're having some trouble with detection of a couple of Sil3124 SATA controller cards on newer motherboard and processor combos. Specifically, we're running a Supermicro X9SCM-F motherboard (latest BIOS) and Intel E3-1220v2 CPU. What we're seeing: - Syba Sil3124 PCIe cards are only being detected when installed in PCIe Slot 4 -- The motherboard documentation shows that this is the only slot connected to the Intel C202/204 chipset on the motherboard -- Slots 5, 6, and 7 are connected to the integrated northbridge on the Ivy Bridge CPU (there is no slot 1, 2, or 3) FreeBSD won't detect even a single Sil3124 card installed in PCIe slot 5, 6, or 7. If we put an Intel Dual-port NIC in either of one of these slots, it is detected just fine. I've attached a verbose dmesg.boot from this box running FreeBSD 9.0-RELEASE. We've also tried 8.1-RELEASE, 8.2-RELEASE, and 9.1-BETA1 with the same results. Booting with ACPI disabled results in a kernel panic during the boot process. I'd greatly appreciate any help or suggestions on this matter. We've already tried just about every BIOS option on the board. Does the device show up in pciconf -l output? -- John Baldwin ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org
Re: Problem detecting Sil3124 SATA controllers off of Sandy Bridge northbridge-connected PCIe slots
On 08/02/2012 01:58 PM, John Baldwin wrote: On Thursday, August 02, 2012 10:21:20 am Steve Polyack wrote: Hi, We're having some trouble with detection of a couple of Sil3124 SATA controller cards on newer motherboard and processor combos. Specifically, we're running a Supermicro X9SCM-F motherboard (latest BIOS) and Intel E3-1220v2 CPU. What we're seeing: - Syba Sil3124 PCIe cards are only being detected when installed in PCIe Slot 4 -- The motherboard documentation shows that this is the only slot connected to the Intel C202/204 chipset on the motherboard -- Slots 5, 6, and 7 are connected to the integrated northbridge on the Ivy Bridge CPU (there is no slot 1, 2, or 3) FreeBSD won't detect even a single Sil3124 card installed in PCIe slot 5, 6, or 7. If we put an Intel Dual-port NIC in either of one of these slots, it is detected just fine. I've attached a verbose dmesg.boot from this box running FreeBSD 9.0-RELEASE. We've also tried 8.1-RELEASE, 8.2-RELEASE, and 9.1-BETA1 with the same results. Booting with ACPI disabled results in a kernel panic during the boot process. I'd greatly appreciate any help or suggestions on this matter. We've already tried just about every BIOS option on the board. Does the device show up in pciconf -l output? The device itself does NOT show up in pciconf -l output. However, I ran pciconf on two different boots, once with and once without the card installed in one of the non-probed slots. I noticed that the following Ivy Bridge PCI Express Root Port showed up when the card was installed: +pcib2@pci0:0:1:1:class=0x060400 card=0x062415d9 chip=0x01558086 rev=0x09 hdr=0x01 +vendor = 'Intel Corporation' +device = 'Ivy Bridge PCI Express Root Port' +class = bridge +subclass = PCI-PCI +cap 0d[88] = PCI Bridge card=0x062415d9 +cap 01[80] = powerspec 3 supports D0 D3 current D0 +cap 05[90] = MSI supports 1 message +cap 10[a0] = PCI-Express 2 root port max data 128(128) link x1(x8) +ecap 0002[100] = VC 1 max VC0 +ecap 0005[140] = unknown 1 +ecap 0019[d94] = unknown 1 The previous Ivy Bridge Root Port still shows up, and shows the following change: -cap 10[a0] = PCI-Express 2 root port max data 256(256) link x1(x8) +cap 10[a0] = PCI-Express 2 root port max data 256(256) link x0(x8) I also meant to note in my initial email that the Option ROM (RAID setup, drive probing, etc.) shows up for the Sil3124 SATA card in any slot. Even when the OS is unable to discover the card. Thanks for the response, Steve hostb0@pci0:0:0:0: class=0x06 card=0x062415d9 chip=0x01588086 rev=0x09 hdr=0x00 vendor = 'Intel Corporation' device = 'Ivy Bridge DRAM Controller' class = bridge subclass = HOST-PCI cap 09[e0] = vendor (length 12) Intel cap 0 version 1 pcib1@pci0:0:1:0: class=0x060400 card=0x062415d9 chip=0x01518086 rev=0x09 hdr=0x01 vendor = 'Intel Corporation' device = 'Ivy Bridge PCI Express Root Port' class = bridge subclass = PCI-PCI cap 0d[88] = PCI Bridge card=0x062415d9 cap 01[80] = powerspec 3 supports D0 D3 current D0 cap 05[90] = MSI supports 1 message cap 10[a0] = PCI-Express 2 root port max data 256(256) link x0(x8) ecap 0002[100] = VC 1 max VC0 ecap 0005[140] = unknown 1 ecap 0019[d94] = unknown 1 pcib2@pci0:0:1:1: class=0x060400 card=0x062415d9 chip=0x01558086 rev=0x09 hdr=0x01 vendor = 'Intel Corporation' device = 'Ivy Bridge PCI Express Root Port' class = bridge subclass = PCI-PCI cap 0d[88] = PCI Bridge card=0x062415d9 cap 01[80] = powerspec 3 supports D0 D3 current D0 cap 05[90] = MSI supports 1 message cap 10[a0] = PCI-Express 2 root port max data 128(128) link x1(x8) ecap 0002[100] = VC 1 max VC0 ecap 0005[140] = unknown 1 ecap 0019[d94] = unknown 1 em0@pci0:0:25:0:class=0x02 card=0x150215d9 chip=0x15028086 rev=0x05 hdr=0x00 vendor = 'Intel Corporation' device = '82579LM Gigabit Network Connection' class = network subclass = ethernet bar [10] = type Memory, range 32, base 0xf7b0, size 131072, enabled bar [14] = type Memory, range 32, base 0xf7b25000, size 4096, enabled bar [18] = type I/O Port, range 32, base 0xf020, size 32, enabled cap 01[c8] = powerspec 2 supports D0 D3 current D0 cap 05[d0] = MSI supports 1 message, 64 bit enabled with 1 message cap 13[e0] = PCI Advanced Features: FLR TP ehci0@pci0:0:26:0: class=0x0c0320 card=0x062415d9 chip=0x1c2d8086 rev=0x05 hdr=0x00 vendor = 'Intel Corporation' device = '6 Series/C200 Series Chipset Family USB Enhanced Host Controller' class = serial bus subclass = USB bar [10] = type Memory, range 32, base 0xf7b24000, size 1024, enabled cap 01[50] = powerspec 2 supports D0 D3 current D0 cap 0a[58] = EHCI Debug Port at offset 0xa0 in map 0x14 cap
Re: Problem detecting Sil3124 SATA controllers off of Sandy Bridge northbridge-connected PCIe slots
On Thursday, August 02, 2012 4:35:20 pm Steve Polyack wrote: On 08/02/2012 01:58 PM, John Baldwin wrote: On Thursday, August 02, 2012 10:21:20 am Steve Polyack wrote: Hi, We're having some trouble with detection of a couple of Sil3124 SATA controller cards on newer motherboard and processor combos. Specifically, we're running a Supermicro X9SCM-F motherboard (latest BIOS) and Intel E3-1220v2 CPU. What we're seeing: - Syba Sil3124 PCIe cards are only being detected when installed in PCIe Slot 4 -- The motherboard documentation shows that this is the only slot connected to the Intel C202/204 chipset on the motherboard -- Slots 5, 6, and 7 are connected to the integrated northbridge on the Ivy Bridge CPU (there is no slot 1, 2, or 3) FreeBSD won't detect even a single Sil3124 card installed in PCIe slot 5, 6, or 7. If we put an Intel Dual-port NIC in either of one of these slots, it is detected just fine. I've attached a verbose dmesg.boot from this box running FreeBSD 9.0-RELEASE. We've also tried 8.1-RELEASE, 8.2-RELEASE, and 9.1-BETA1 with the same results. Booting with ACPI disabled results in a kernel panic during the boot process. I'd greatly appreciate any help or suggestions on this matter. We've already tried just about every BIOS option on the board. Does the device show up in pciconf -l output? The device itself does NOT show up in pciconf -l output. However, I ran pciconf on two different boots, once with and once without the card installed in one of the non-probed slots. I noticed that the following Ivy Bridge PCI Express Root Port showed up when the card was installed: +pcib2@pci0:0:1:1:class=0x060400 card=0x062415d9 chip=0x01558086 rev=0x09 hdr=0x01 +vendor = 'Intel Corporation' +device = 'Ivy Bridge PCI Express Root Port' +class = bridge +subclass = PCI-PCI +cap 0d[88] = PCI Bridge card=0x062415d9 +cap 01[80] = powerspec 3 supports D0 D3 current D0 +cap 05[90] = MSI supports 1 message +cap 10[a0] = PCI-Express 2 root port max data 128(128) link x1(x8) +ecap 0002[100] = VC 1 max VC0 +ecap 0005[140] = unknown 1 +ecap 0019[d94] = unknown 1 Oh, now I see the problem. This isn't completely trivial to solve. :( pcib3: PCI-PCI bridge at device 0.0 on pci2 pcib2: attempting to grow I/O port window for (0-0xfff,0x1000) pcib3: failed to allocate initial I/O port window: 0-0xfff pcib2: attempting to grow memory window for (0-0xf,0x10) pcib3: failed to allocate initial memory window: 0-0xf pcib2: failed to allocate initial prefetch window (0-0xf,0x10) pcib2: attempting to grow memory window for (0-0xf,0x10) pcib3: failed to allocate initial prefetch window: 0-0xf pcib3: domain0 pcib3: secondary bus 0 pcib3: subordinate bus 0 pcib3: no prefetched decode This bridge isn't configured by the BIOS, so we can't see any devices behind it. I have some patches to start adding support for fixing that, but they are incomplete (and I haven't touched them in months). Try this hack as a test: Index: sys/dev/pci/pci_pci.c === --- pci_pci.c (revision 238992) +++ pci_pci.c (working copy) @@ -566,6 +566,13 @@ pcib_attach_common(device_t dev) SYSCTL_ADD_UINT(sctx, SYSCTL_CHILDREN(soid), OID_AUTO, subbus, CTLFLAG_RD, sc-subbus, 0, Subordinate bus number); +if (device_get_unit(dev) == 3 sc-secbus == 0 sc-subbus == 0) { + pci_write_config(dev, PCIR_SUBBUS_1, 3, 1); + pci_write_config(dev, PCIR_SECBUS_1, 3, 1); + sc-secbus = 3; + sc-subbus = 3; +} + /* * Quirk handling. */ -- John Baldwin ___ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to freebsd-stable-unsubscr...@freebsd.org