hello tech@ mfi(4) diff to support MegaRAID 9240-4i (from kravchuk...@gmail.com).
2:0:0: Symbios Logic MegaRAID SAS2008 0x0000: Vendor ID: 1000 Product ID: 0073 0x0004: Command: 0147 Status ID: 0010 0x0008: Class: 01 Subclass: 04 Interface: 00 Revision: 03 0x000c: BIST: 00 Header Type: 00 Latency Timer: 00 Cache Line Size: 10 0x0010: BAR io addr: 0x0000e000/0x0100 0x0014: BAR mem 64bit addr: 0x00000000fbb60000/0x00004000 0x001c: BAR mem 64bit addr: 0x0000000000000000/0x00040000 0x0024: BAR empty (00000000) 0x0028: Cardbus CIS: 00000000 0x002c: Subsystem Vendor ID: 1000 Product ID: 9241 0x0030: Expansion ROM Base Address: fbb40000 0x0038: 00000000 0x003c: Interrupt Pin: 01 Line: 05 Min Gnt: 00 Max Lat: 00 0x0050: Capability 0x01: Power Management 0x0068: Capability 0x10: PCI Express Link Speed: 5.0 / 5.0 Gb/s Link Width: x8 / x8 0x00d0: Capability 0x03: Vital Product Data (VPD) 0x00a8: Capability 0x05: Message Signaled Interrupts (MSI) 0x00c0: Capability 0x11: Extended Message Signaled Interrupts (MSI-X) 0x0000: 00731000 00100147 01040003 00000010 0x0010: 0000e001 fbb60004 00000000 00000004 0x0020: 00000000 00000000 00000000 92411000 0x0030: fbb40000 00000050 00000000 00000105 0x0040: 00000000 00000000 00000000 00000000 0x0050: 06036801 00000008 00000000 00000000 0x0060: 00000000 00000200 0002d010 10008025 0x0070: 00092807 00000482 10820040 00000000 0x0080: 00000000 00000000 00000000 00000016 0x0090: 00000000 00000000 00000002 00000000 0x00a0: 00000000 00000000 0080c005 00000000 0x00b0: 00000000 00000000 00000000 00000000 0x00c0: 000e0011 00002001 00003801 00000000 0x00d0: 0000a803 00000000 00000000 00000000 0x00e0: 00000000 00000000 00000000 00000000 0x00f0: 00000000 00000000 00000000 00000000 OpenBSD 5.0-current (GENERIC.MP) #1: Mon Jan 2 22:17:32 GMT 2012 r...@gw.done:/usr/src/sys/arch/amd64/compile/GENERIC.MP real mem = 4237422592 (4041MB) avail mem = 4110475264 (3920MB) mainbus0 at root bios0 at mainbus0: SMBIOS rev. 2.7 @ 0xeadc0 (105 entries) bios0: vendor American Megatrends Inc. version "1.1a" date 09/28/2011 bios0: Supermicro X9SCL/X9SCM acpi0 at bios0: rev 2 acpi0: sleep states S0 S1 S4 S5 acpi0: tables DSDT FACP APIC SSDT MCFG HPET SPMI EINJ ERST HEST BERT acpi0: wakeup devices PS2K(S1) PS2M(S1) UAR1(S4) UAR2(S4) BR20(S1) EUSB(S4) USBE(S4) PEX0(S4) PEX4(S4) PEX6(S4) GBE_(S4) P0P1(S4) P0P2(S4) P0P3(S4) P0P4(S4) SLPB(S0) PWRB(S4) acpitimer0 at acpi0: 3579545 Hz, 24 bits acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat cpu0 at mainbus0: apid 0 (boot processor) cpu0: Intel(R) Xeon(R) CPU E31230 @ 3.20GHz, 3193.20 MHz cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,SBF,SSE3,PCLMUL,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1,SSE4.2,x2APIC,POPCNT,XSAVE,AVX,NXE,LONG,LAHF cpu0: 256KB 64b/line 8-way L2 cache cpu0: apic clock running at 99MHz cpu1 at mainbus0: apid 2 (application processor) cpu1: Intel(R) Xeon(R) CPU E31230 @ 3.20GHz, 3192.75 MHz cpu1: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,SBF,SSE3,PCLMUL,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1,SSE4.2,x2APIC,POPCNT,XSAVE,AVX,NXE,LONG,LAHF cpu1: 256KB 64b/line 8-way L2 cache cpu2 at mainbus0: apid 4 (application processor) cpu2: Intel(R) Xeon(R) CPU E31230 @ 3.20GHz, 3192.75 MHz cpu2: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,SBF,SSE3,PCLMUL,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1,SSE4.2,x2APIC,POPCNT,XSAVE,AVX,NXE,LONG,LAHF cpu2: 256KB 64b/line 8-way L2 cache cpu3 at mainbus0: apid 6 (application processor) cpu3: Intel(R) Xeon(R) CPU E31230 @ 3.20GHz, 3192.75 MHz cpu3: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,SBF,SSE3,PCLMUL,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1,SSE4.2,x2APIC,POPCNT,XSAVE,AVX,NXE,LONG,LAHF cpu3: 256KB 64b/line 8-way L2 cache cpu4 at mainbus0: apid 1 (application processor) cpu4: Intel(R) Xeon(R) CPU E31230 @ 3.20GHz, 3192.75 MHz cpu4: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,SBF,SSE3,PCLMUL,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1,SSE4.2,x2APIC,POPCNT,XSAVE,AVX,NXE,LONG,LAHF cpu4: 256KB 64b/line 8-way L2 cache cpu5 at mainbus0: apid 3 (application processor) cpu5: Intel(R) Xeon(R) CPU E31230 @ 3.20GHz, 3192.75 MHz cpu5: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,SBF,SSE3,PCLMUL,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1,SSE4.2,x2APIC,POPCNT,XSAVE,AVX,NXE,LONG,LAHF cpu5: 256KB 64b/line 8-way L2 cache cpu6 at mainbus0: apid 5 (application processor) cpu6: Intel(R) Xeon(R) CPU E31230 @ 3.20GHz, 3192.75 MHz cpu6: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,SBF,SSE3,PCLMUL,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1,SSE4.2,x2APIC,POPCNT,XSAVE,AVX,NXE,LONG,LAHF cpu6: 256KB 64b/line 8-way L2 cache cpu7 at mainbus0: apid 7 (application processor) cpu7: Intel(R) Xeon(R) CPU E31230 @ 3.20GHz, 3192.75 MHz cpu7: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,SBF,SSE3,PCLMUL,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1,SSE4.2,x2APIC,POPCNT,XSAVE,AVX,NXE,LONG,LAHF cpu7: 256KB 64b/line 8-way L2 cache ioapic0 at mainbus0: apid 0 pa 0xfec00000, version 20, 24 pins acpimcfg0 at acpi0 addr 0xe0000000, bus 0-255 acpihpet0 at acpi0: 14318179 Hz acpiprt0 at acpi0: bus 0 (PCI0) acpiprt1 at acpi0: bus 6 (BR20) acpiprt2 at acpi0: bus 3 (PEX0) acpiprt3 at acpi0: bus 4 (PEX4) acpiprt4 at acpi0: bus 5 (PEX6) acpiprt5 at acpi0: bus 1 (P0P1) acpiprt6 at acpi0: bus 2 (P0P2) acpiprt7 at acpi0: bus -1 (P0P3) acpiprt8 at acpi0: bus -1 (P0P4) acpicpu0 at acpi0: C3, C1, PSS acpicpu1 at acpi0: C3, C1, PSS acpicpu2 at acpi0: C3, C1, PSS acpicpu3 at acpi0: C3, C1, PSS acpicpu4 at acpi0: C3, C1, PSS acpicpu5 at acpi0: C3, C1, PSS acpicpu6 at acpi0: C3, C1, PSS acpicpu7 at acpi0: C3, C1, PSS acpibtn0 at acpi0: SLPB acpibtn1 at acpi0: PWRB ipmi at mainbus0 not configured cpu0: Enhanced SpeedStep 3192 MHz: speeds: 3201, 3200, 3000, 2800, 2600, 2400, 2200, 2000, 1800, 1600 MHz pci0 at mainbus0 bus 0 pchb0 at pci0 dev 0 function 0 vendor "Intel", unknown product 0x0108 rev 0x09 ppb0 at pci0 dev 1 function 0 "Intel Core 2G PCIE" rev 0x09: msi pci1 at ppb0 bus 1 ppb1 at pci0 dev 1 function 1 "Intel Core 2G PCIE" rev 0x09: msi pci2 at ppb1 bus 2 mem address conflict 0xffb00000/0x40000 mfi0 at pci2 dev 0 function 0 "Symbios Logic MegaRAID SAS2008" rev 0x03: apic 0 int 17, 0x92411000 mfi0: logical drives 1, version 20.10.1-0061, 0MB RAM scsibus0 at mfi0: 1 targets sd0 at scsibus0 targ 0 lun 0: <LSI, MR9240-4i, 2.12> SCSI3 0/direct fixed naa.600605b0040274b0168b06c006dbdaed sd0: 952720MB, 512 bytes/sector, 1951170560 sectors ehci0 at pci0 dev 26 function 0 "Intel 6 Series USB" rev 0x05: apic 0 int 16 usb0 at ehci0: USB revision 2.0 uhub0 at usb0 "Intel EHCI root hub" rev 2.00/1.00 addr 1 ppb2 at pci0 dev 28 function 0 "Intel 6 Series PCIE" rev 0xb5: msi pci3 at ppb2 bus 3 ppb3 at pci0 dev 28 function 4 "Intel 6 Series PCIE" rev 0xb5: msi pci4 at ppb3 bus 4 em0 at pci4 dev 0 function 0 "Intel PRO/1000 MT (82574L)" rev 0x00: msi, address 00:25:90:57:bf:b0 ppb4 at pci0 dev 28 function 6 "Intel 6 Series PCIE" rev 0xb5: msi pci5 at ppb4 bus 5 em1 at pci5 dev 0 function 0 "Intel PRO/1000 MT (82574L)" rev 0x00: msi, address 00:25:90:57:bf:b1 ehci1 at pci0 dev 29 function 0 "Intel 6 Series USB" rev 0x05: apic 0 int 23 usb1 at ehci1: USB revision 2.0 uhub1 at usb1 "Intel EHCI root hub" rev 2.00/1.00 addr 1 ppb5 at pci0 dev 30 function 0 "Intel 82801BA Hub-to-PCI" rev 0xa5 pci6 at ppb5 bus 6 vga1 at pci6 dev 3 function 0 "Matrox MGA G200eW" rev 0x0a wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation) wsdisplay0: screen 1-5 added (80x25, vt100 emulation) pcib0 at pci0 dev 31 function 0 "Intel C202 LPC" rev 0x05 pciide0 at pci0 dev 31 function 2 "Intel 82801H RAID" rev 0x05: DMA, channel 0 wired to native-PCI, channel 1 wired to native-PCI pciide0: using apic 0 int 19 for native-PCI interrupt ichiic0 at pci0 dev 31 function 3 "Intel 6 Series SMBus" rev 0x05: apic 0 int 18 iic0 at ichiic0 sdtemp0 at iic0 addr 0x19: se97 sdtemp1 at iic0 addr 0x1b: se97 spdmem0 at iic0 addr 0x51: 2GB DDR3 SDRAM ECC PC3-10600 with thermal sensor spdmem1 at iic0 addr 0x53: 2GB DDR3 SDRAM ECC PC3-10600 with thermal sensor isa0 at pcib0 isadma0 at isa0 com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo com1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo pckbc0 at isa0 port 0x60/5 pckbd0 at pckbc0 (kbd slot) pckbc0: using irq 1 for kbd slot wskbd0 at pckbd0: console keyboard, using wsdisplay0 pcppi0 at isa0 port 0x61 spkr0 at pcppi0 wbsio0 at isa0 port 0x2e/2: NCT6776F rev 0x33 lm1 at wbsio0 port 0xa30/8: NCT6776F mtrr: Pentium Pro MTRR support uhub2 at uhub0 port 1 "Intel Rate Matching Hub" rev 2.00/0.00 addr 2 uhidev0 at uhub2 port 2 configuration 1 interface 0 "Winbond Electronics Corp Hermon USB hidmouse Device" rev 1.10/0.01 addr 3 uhidev0: iclass 3/1 ums0 at uhidev0: 3 buttons, Z dir wsmouse0 at ums0 mux 0 uhidev1 at uhub2 port 2 configuration 1 interface 1 "Winbond Electronics Corp Hermon USB hidmouse Device" rev 1.10/0.01 addr 3 uhidev1: iclass 3/1 ukbd0 at uhidev1: 8 modifier keys, 6 key codes wskbd1 at ukbd0 mux 1 wskbd1: connecting to wsdisplay0 uhub3 at uhub1 port 1 "Intel Rate Matching Hub" rev 2.00/0.00 addr 2 uhidev2 at uhub3 port 2 configuration 1 interface 0 " USB Keyboard" rev 1.10/3.10 addr 3 uhidev2: iclass 3/1 ukbd1 at uhidev2: 8 modifier keys, 6 key codes wskbd2 at ukbd1 mux 1 wskbd2: connecting to wsdisplay0 uhidev3 at uhub3 port 2 configuration 1 interface 1 " USB Keyboard" rev 1.10/3.10 addr 3 uhidev3: iclass 3/0, 2 report ids uhid0 at uhidev3 reportid 1: input=1, output=0, feature=0 uhid1 at uhidev3 reportid 2: input=3, output=0, feature=0 uhidev4 at uhub3 port 4 configuration 1 interface 0 "Logitech USB Optical Mouse" rev 2.00/54.00 addr 4 uhidev4: iclass 3/1 ums1 at uhidev4: 8 buttons, Z dir wsmouse1 at ums1 mux 0 vscsi0 at root scsibus1 at vscsi0: 256 targets softraid0 at root scsibus2 at softraid0: 256 targets root on sd0a (13bd0d2d1702d918.a) swap on sd0b dump on sd0b Index: dev/ic/mfi.c =================================================================== RCS file: /cvs/src/sys/dev/ic/mfi.c,v retrieving revision 1.121 diff -u -p -r1.121 mfi.c --- dev/ic/mfi.c 17 Jul 2011 22:46:48 -0000 1.121 +++ dev/ic/mfi.c 3 Jan 2012 01:31:16 -0000 @@ -145,6 +145,18 @@ static const struct mfi_iop_ops mfi_iop_ mfi_gen2_post }; +u_int32_t mfi_skinny_fw_state(struct mfi_softc *); +void mfi_skinny_intr_ena(struct mfi_softc *); +int mfi_skinny_intr(struct mfi_softc *); +void mfi_skinny_post(struct mfi_softc *, struct mfi_ccb *); + +static const struct mfi_iop_ops mfi_iop_skinny = { + mfi_skinny_fw_state, + mfi_skinny_intr_ena, + mfi_skinny_intr, + mfi_skinny_post +}; + #define mfi_fw_state(_s) ((_s)->sc_iop->mio_fw_state(_s)) #define mfi_intr_enable(_s) ((_s)->sc_iop->mio_intr_ena(_s)) #define mfi_my_intr(_s) ((_s)->sc_iop->mio_intr(_s)) @@ -366,11 +378,17 @@ mfi_transition_firmware(struct mfi_softc printf("%s: firmware fault\n", DEVNAME(sc)); return (1); case MFI_STATE_WAIT_HANDSHAKE: - mfi_write(sc, MFI_IDB, MFI_INIT_CLEAR_HANDSHAKE); + if (sc->sc_flags & MFI_IOP_SKINNY) + mfi_write(sc, MFI_SKINNY_IDB, MFI_INIT_CLEAR_HANDSHAKE); + else + mfi_write(sc, MFI_IDB, MFI_INIT_CLEAR_HANDSHAKE); max_wait = 2; break; case MFI_STATE_OPERATIONAL: - mfi_write(sc, MFI_IDB, MFI_INIT_READY); + if (sc->sc_flags & MFI_IOP_SKINNY) + mfi_write(sc, MFI_SKINNY_IDB, MFI_INIT_READY); + else + mfi_write(sc, MFI_IDB, MFI_INIT_READY); max_wait = 10; break; case MFI_STATE_UNDEFINED: @@ -646,6 +664,9 @@ mfi_attach(struct mfi_softc *sc, enum mf case MFI_IOP_GEN2: sc->sc_iop = &mfi_iop_gen2; break; + case MFI_IOP_SKINNY: + sc->sc_iop = &mfi_iop_skinny; + break; default: panic("%s: unknown iop %d", DEVNAME(sc), iop); } @@ -2169,4 +2190,39 @@ mfi_gen2_post(struct mfi_softc *sc, stru { mfi_write(sc, MFI_IQP, 0x1 | ccb->ccb_pframe | (ccb->ccb_extra_frames << 1)); +} + +u_int32_t +mfi_skinny_fw_state(struct mfi_softc *sc) +{ + return (mfi_read(sc, MFI_OSP)); +} + +void +mfi_skinny_intr_ena(struct mfi_softc *sc) +{ + mfi_write(sc, MFI_OMSK, ~0x00000001); +} + +int +mfi_skinny_intr(struct mfi_softc *sc) +{ + u_int32_t status; + + status = mfi_read(sc, MFI_OSTS); + if (!ISSET(status, MFI_OSTS_SKINNY_INTR_VALID)) + return (0); + + /* write status back to acknowledge interrupt */ + mfi_write(sc, MFI_OSTS, status); + + return (1); +} + +void +mfi_skinny_post(struct mfi_softc *sc, struct mfi_ccb *ccb) +{ + mfi_write(sc, MFI_IQPL, 0x1 | ccb->ccb_pframe | + (ccb->ccb_extra_frames << 1)); + mfi_write(sc, MFI_IQPH, 0x00000000); } Index: dev/ic/mfireg.h =================================================================== RCS file: /cvs/src/sys/dev/ic/mfireg.h,v retrieving revision 1.29 diff -u -p -r1.29 mfireg.h --- dev/ic/mfireg.h 8 Apr 2011 19:23:46 -0000 1.29 +++ dev/ic/mfireg.h 3 Jan 2012 01:31:16 -0000 @@ -45,6 +45,14 @@ #define MFI_ODC 0xa0 /* outbound doorbell clr */ #define MFI_OSP 0xb0 /* outbound scratch pad */ +/* + * skinny specific changes +*/ +#define MFI_SKINNY_IDB 0x00 /* Inbound doorbell is at 0x00 for skinny */ +#define MFI_IQPL 0x000000c0 +#define MFI_IQPH 0x000000c4 +#define MFI_OSTS_SKINNY_INTR_VALID 0x00000001 + /* * firmware states */ #define MFI_STATE_MASK 0xf0000000 #define MFI_STATE_UNDEFINED 0x00000000 Index: dev/ic/mfivar.h =================================================================== RCS file: /cvs/src/sys/dev/ic/mfivar.h,v retrieving revision 1.41 diff -u -p -r1.41 mfivar.h --- dev/ic/mfivar.h 9 Apr 2011 20:23:31 -0000 1.41 +++ dev/ic/mfivar.h 3 Jan 2012 01:31:16 -0000 @@ -95,7 +95,8 @@ SLIST_HEAD(mfi_ccb_list, mfi_ccb); enum mfi_iop { MFI_IOP_XSCALE, MFI_IOP_PPC, - MFI_IOP_GEN2 + MFI_IOP_GEN2, + MFI_IOP_SKINNY }; struct mfi_iop_ops { @@ -114,6 +115,7 @@ struct mfi_softc { const struct mfi_iop_ops *sc_iop; int sc_64bit_dma; + int sc_flags; bus_space_tag_t sc_iot; bus_space_handle_t sc_ioh; Index: dev/pci/mfi_pci.c =================================================================== RCS file: /cvs/src/sys/dev/pci/mfi_pci.c,v retrieving revision 1.25 diff -u -p -r1.25 mfi_pci.c --- dev/pci/mfi_pci.c 20 Jul 2011 20:15:23 -0000 1.25 +++ dev/pci/mfi_pci.c 3 Jan 2012 01:31:16 -0000 @@ -105,6 +105,8 @@ struct mfi_pci_device { MFI_IOP_GEN2, mfi_gen2_subtypes }, { PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_SAS2108_2, MFI_IOP_GEN2, mfi_gen2_subtypes }, + { PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_SAS2008_1, + MFI_IOP_SKINNY, NULL }, }; const struct mfi_pci_device *mfi_pci_find_device(struct pci_attach_args *); @@ -153,7 +155,9 @@ mfi_pci_attach(struct device *parent, st return; } - if (mpd->mpd_iop == MFI_IOP_GEN2) + sc->sc_flags = mpd->mpd_iop; + + if (mpd->mpd_iop == MFI_IOP_GEN2 || mpd->mpd_iop == MFI_IOP_SKINNY ) regbar = MFI_BAR_GEN2; else regbar = MFI_BAR; Index: dev/pci/pcidevs =================================================================== RCS file: /cvs/src/sys/dev/pci/pcidevs,v retrieving revision 1.1629 diff -u -p -r1.1629 pcidevs --- dev/pci/pcidevs 2 Jan 2012 10:29:43 -0000 1.1629 +++ dev/pci/pcidevs 3 Jan 2012 01:31:17 -0000 @@ -3983,6 +3983,7 @@ product SYMBIOS SAS2116_2 0x0065 SAS2116 product SYMBIOS SAS2308_3 0x006e SAS2308 product SYMBIOS SAS2004 0x0070 SAS2004 product SYMBIOS SAS2008 0x0072 SAS2008 +product SYMBIOS SAS2008_1 0x0073 MegaRAID SAS2008 product SYMBIOS SAS2108_3 0x0074 SAS2108 product SYMBIOS SAS2108_4 0x0076 SAS2108 product SYMBIOS SAS2108_5 0x0077 SAS2108 [demime 1.01d removed an attachment of type application/octet-stream which had a name of mfi.diff]