[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

patch: make HP Smart Array P600 with SAS drives work with ciss



The patch below makes OpenBSD 3.8/i386 work on HP DL360 G4 with SAS
drives. The machine has a P600 controller on the board, but it
apparently has a different version than the one supported by the
current driver. Hence, I've simply bumped the CISS_VERSION in
cissreg.h to 3 (quick hack). I've also included a patch to pcidevs
which makes the integrated lights-out processor recognizable (i
believe this is already in -current).

dmesg is at the end of the message

As reported in PR4595
(http://cvs.openbsd.org/cgi-bin/query-pr-wrapper?full=yes&numbers=4595),
the performance is not quite good. I've also tried the latest revision
of ciss.c (r1.8). No difference.

Patch relative to /usr/src/sys/dev/ follows:

Index: ic/cissreg.h
===================================================================
RCS file: /cvs/src/sys/dev/ic/cissreg.h,v
retrieving revision 1.1
diff -u -r1.1 cissreg.h
--- ic/cissreg.h	2005/07/06 01:52:13	1.1
+++ ic/cissreg.h	2005/11/23 14:05:16
@@ -51,7 +51,7 @@
 	u_int32_t	signature;
  #define	CISS_SIGNATURE	(*(u_int32_t *)"CISS")
 	u_int32_t	version;
-#define	CISS_VERSION	1
+#define	CISS_VERSION	3
 	u_int32_t	methods;
 #define	CISS_METH_READY	0x0001
 #define	CISS_METH_SIMPL	0x0002
Index: pci/ciss_pci.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/ciss_pci.c,v
retrieving revision 1.5
diff -u -r1.5 ciss_pci.c
--- pci/ciss_pci.c	2005/08/09 04:10:10	1.5
+++ pci/ciss_pci.c	2005/11/23 14:05:17
@@ -61,6 +61,7 @@
 	{ PCI_VENDOR_HP,	PCI_PRODUCT_HP_HPSAV100 },
 	{ PCI_VENDOR_HP,	PCI_PRODUCT_HP_HPSAP800 },
 	{ PCI_VENDOR_HP,	PCI_PRODUCT_HP_HPSAP600 },
+	{ PCI_VENDOR_HP,	PCI_PRODUCT_HP_HPSASP600 },
 	{ PCI_VENDOR_HP,	PCI_PRODUCT_HP_HPSAE400 },
 };
  #define	CISS_PCI_NDEVS	sizeof(ciss_pci_devices)/sizeof(ciss_pci_devices[0])
Index: pci/pcidevs
===================================================================
RCS file: /cvs/src/sys/dev/pci/pcidevs,v
retrieving revision 1.910
diff -u -r1.910 pcidevs
--- pci/pcidevs	2005/08/29 03:00:23	1.910
+++ pci/pcidevs	2005/11/23 14:05:19
@@ -1036,6 +1036,8 @@
 product COMPAQ CSA5i_2		0xb178	Smart Array 5i/532 rev.2
  product COMPAQ NF3P		0xf130	NetFlex 3/P
  product COMPAQ NF3P_BNC		0xf150	NetFlex 3/PB
+product COMPAQ ILOA		0xb203	Integrated Lights-Out Processor
+product COMPAQ ILOB		0xb204	Integrated Lights-Out Processor

  /* Compex */
  product COMPEX COMPEXE		0x1401	Compexe
@@ -1278,6 +1280,7 @@
  product HP QUICKSILVER		0x12b4	QuickSilver Ropes-PCI
 product HP HPSAV100		0x3210	Smart Array V100
 product HP HPSAP800		0x3223	Smart Array P800
+product HP HPSASP600		0x3220	Smart Array P600
 product HP HPSAP600		0x3225	Smart Array P600
 product HP HPSAE400		0x3231	Smart Array E400

Index: pci/pcidevs.h
===================================================================
RCS file: /cvs/src/sys/dev/pci/pcidevs.h,v
retrieving revision 1.911
diff -u -r1.911 pcidevs.h
--- pci/pcidevs.h	2005/08/29 03:00:49	1.911
+++ pci/pcidevs.h	2005/11/23 14:05:22
@@ -1041,6 +1041,8 @@
 #define	PCI_PRODUCT_COMPAQ_CSA5i_2	0xb178		/* Smart Array 5i/532 rev.2 */
  #define	PCI_PRODUCT_COMPAQ_NF3P	0xf130		/* NetFlex 3/P */
  #define	PCI_PRODUCT_COMPAQ_NF3P_BNC	0xf150		/* NetFlex 3/PB */
+#define	PCI_PRODUCT_COMPAQ_ILOA		0xb203		/* Integrated Lights-Out Processor */
+#define	PCI_PRODUCT_COMPAQ_ILOB		0xb204		/* Integrated Lights-Out Processor */

  /* Compex */
  #define	PCI_PRODUCT_COMPEX_COMPEXE	0x1401		/* Compexe */
@@ -1282,6 +1284,7 @@
  #define	PCI_PRODUCT_HP_MERCURY	0x122e		/* Mercury Ropes-PCI */
  #define	PCI_PRODUCT_HP_QUICKSILVER	0x12b4		/* QuickSilver Ropes-PCI */
 #define	PCI_PRODUCT_HP_HPSAV100	0x3210		/* Smart Array V100 */
+#define	PCI_PRODUCT_HP_HPSASP600	0x3220		/* Smart Array P600 */
 #define	PCI_PRODUCT_HP_HPSAP800	0x3223		/* Smart Array P800 */
 #define	PCI_PRODUCT_HP_HPSAP600	0x3225		/* Smart Array P600 */
 #define	PCI_PRODUCT_HP_HPSAE400	0x3231		/* Smart Array E400 */
Index: pci/pcidevs_data.h
===================================================================
RCS file: /cvs/src/sys/dev/pci/pcidevs_data.h,v
retrieving revision 1.910
diff -u -r1.910 pcidevs_data.h
--- pci/pcidevs_data.h	2005/08/29 03:00:49	1.910
+++ pci/pcidevs_data.h	2005/11/23 14:05:25
@@ -2451,6 +2451,14 @@
  	    "QVision",
 	},
 	{
+	    PCI_VENDOR_COMPAQ, PCI_PRODUCT_COMPAQ_ILOA,
+	    "Integrated Lights-Out Processor",
+	},
+	{
+	    PCI_VENDOR_COMPAQ, PCI_PRODUCT_COMPAQ_ILOB,
+	    "Integrated Lights-Out Processor",
+	},
+	{
 	    PCI_VENDOR_COMPAQ, PCI_PRODUCT_COMPAQ_TRIFLEX4,
  	    "Triflex PCI",
 	},
@@ -3260,6 +3268,10 @@
 	},
 	{
 	    PCI_VENDOR_HP, PCI_PRODUCT_HP_HPSAP600,
+	    "Smart Array P600",
+	},
+	{
+	    PCI_VENDOR_HP, PCI_PRODUCT_HP_HPSASP600,
 	    "Smart Array P600",
 	},
 	{

-- dmesg.dl360 g4
OpenBSD 3.8-stable (GENERIC) #5: Wed Nov 23 14:57:30 CET 2005
    root_(_at_)_build-2-i386_(_dot_)_lab_(_dot_)_armorlogic_(_dot_)_com:/usr/src/sys/arch/i386/compile/GENERIC
cpu0: Intel(R) Xeon(TM) CPU 3.40GHz ("GenuineIntel" 686-class) 3.40 GHz
cpu0: FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,SBF,SSE3,MWAIT,EST,CNXT-ID
cpu0: Enhanced SpeedStep 1700 MHz (1404 mV): unknown EST cpu, no
changes possible
real mem  = 2147012608 (2096692K)
avail mem = 1953103872 (1907328K)
using 4278 buffers containing 107454464 bytes (104936K) of memory
mainbus0 (root)
bios0 at mainbus0: AT/286+(00) BIOS, date 12/31/99, BIOS32 rev. 0 @ 0xf0000
pcibios0 at bios0: rev 2.1 @ 0xf0000/0x2000
pcibios0: PCI BIOS has 7 Interrupt Routing table entries
pcibios0: no compatible PCI ICU found
pcibios0: Warning, unable to fix up PCI interrupt routing
pcibios0: PCI bus #7 is the last bus
bios0: ROM list: 0xc0000/0x8000 0xc8000/0x4000! 0xcc000/0x1600 0xee000/0x2000!
cpu0 at mainbus0
pci0 at mainbus0 bus 0: configuration mode 1 (no bios)
pchb0 at pci0 dev 0 function 0 "Intel E7710 SMCH" rev 0x0c
ppb0 at pci0 dev 2 function 0 "Intel E7710 MCH PCIE" rev 0x0c
pci1 at ppb0 bus 1
ppb1 at pci0 dev 4 function 0 "Intel E7710 MCH PCIE" rev 0x0c
pci2 at ppb1 bus 2
ppb2 at pci2 dev 0 function 0 "Intel PCIE-PCIE" rev 0x09
pci3 at ppb2 bus 3
ppb3 at pci2 dev 0 function 2 "Intel PCIE-PCIE" rev 0x09
pci4 at ppb3 bus 4
ciss0 at pci4 dev 1 function 0 "Hewlett-Packard Smart Array P600" rev
0x00: irq 5
ciss0: 1 LD HW rev 0 FW 1.16/1.16
lmap 40000000:0 scsibus0 at ciss0: 1 targets
sd0 at scsibus0 targ 0 lun 0: <COMPAQ, LOGICAL VOLUME, 1.16> SCSI0
0/direct fixed
ciss0: cmd_stat 2 scsi_stat 0x0
ciss0: cmd_stat 2 scsi_stat 0x0
sd0: 69399MB, 69399 cyl, 64 head, 32 sec, 512 bytes/sec, 142130880 sec total
ppb4 at pci0 dev 6 function 0 "Intel E7710 MCH PCIE" rev 0x0c
pci5 at ppb4 bus 5
ppb5 at pci0 dev 28 function 0 "Intel 6300ESB PCIX" rev 0x02
pci6 at ppb5 bus 6
bge0 at pci6 dev 2 function 0 "Broadcom BCM5704C" rev 0x10, BCM5704 B0
(0x2100): irq 5 address 00:14:38:4f:d9:50
brgphy0 at bge0 phy 1: BCM5704 10/100/1000baseT PHY, rev. 0
bge1 at pci6 dev 2 function 1 "Broadcom BCM5704C" rev 0x10, BCM5704 B0
(0x2100): irq 5 address 00:14:38:4f:d9:4f
brgphy1 at bge1 phy 1: BCM5704 10/100/1000baseT PHY, rev. 0
uhci0 at pci0 dev 29 function 0 "Intel 6300ESB USB" rev 0x02: irq 5
usb0 at uhci0: USB revision 1.0
uhub0 at usb0
uhub0: Intel UHCI root hub, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhci1 at pci0 dev 29 function 1 "Intel 5300ESB USB" rev 0x02: irq 5
usb1 at uhci1: USB revision 1.0
uhub1 at usb1
uhub1: Intel UHCI root hub, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
"Intel 6300ESB WDT" rev 0x02 at pci0 dev 29 function 4 not configured
"Intel 6300ESB APIC" rev 0x02 at pci0 dev 29 function 5 not configured
ehci0 at pci0 dev 29 function 7 "Intel 6300ESB USB" rev 0x02: irq 5
usb2 at ehci0: USB revision 2.0
uhub2 at usb2
uhub2: Intel EHCI root hub, rev 2.00/1.00, addr 1
uhub2: 4 ports with 4 removable, self powered
ppb6 at pci0 dev 30 function 0 "Intel 82801BA AGP" rev 0x0a
pci7 at ppb6 bus 7
vga1 at pci7 dev 3 function 0 "ATI Rage XL" rev 0x27
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
"Compaq Integrated Lights-Out Processor" rev 0x01 at pci7 dev 4
function 0 not configured
"Compaq Integrated Lights-Out Processor" rev 0x01 at pci7 dev 4
function 2 not configured
ichpcib0 at pci0 dev 31 function 0 "Intel 6300ESB LPC" rev 0x02
pciide0 at pci0 dev 31 function 1 "Intel 6300ESB IDE" rev 0x02: DMA,
channel 0 configured to compatibility, channel 1 configured to
compatibility
atapiscsi0 at pciide0 channel 0 drive 0
scsibus1 at atapiscsi0: 2 targets
cd0 at scsibus1 targ 0 lun 0: <HL-DT-ST, CD-ROM GCR-8240N, 2.03> SCSI0
5/cdrom removable
cd0(pciide0:0:0): using PIO mode 4, DMA mode 2
pciide0: channel 1 disabled (no drives)
isa0 at ichpcib0
isadma0 at isa0
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
pms0 at pckbc0 (aux slot)
pckbc0: using irq 12 for aux slot
wsmouse0 at pms0 mux 0
pcppi0 at isa0 port 0x61
midi0 at pcppi0: <PC speaker>
spkr0 at pcppi0
sysbeep0 at pcppi0
npx0 at isa0 port 0xf0/16: using exception 16
pccom0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
pccom1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo
fdc0 at isa0 port 0x3f0/6 irq 6 drq 2
biomask efe5 netmask efe5 ttymask ffe7
pctr: user-level cycle counter enabled
ciss0: cmd_stat 2 scsi_stat 0x0
ciss0: cmd_stat 2 scsi_stat 0x0
dkcsum: sd0 matches BIOS drive 0x80
root on sd0a
ciss0: cmd_stat 2 scsi_stat 0x0
ciss0: cmd_stat 2 scsi_stat 0x0
ciss0: cmd_stat 2 scsi_stat 0x0
ciss0: cmd_stat 2 scsi_stat 0x0
rootdev=0x400 rrootdev=0xd00 rawdev=0xd02
ciss0: cmd_stat 2 scsi_stat 0x0
ciss0: cmd_stat 2 scsi_stat 0x0
ciss0: cmd_stat 2 scsi_stat 0x0
ciss0: cmd_stat 2 scsi_stat 0x0



Visit your host, monkey.org