diff options
author | Tobias Klausmann <klausman@gentoo.org> | 2010-01-13 17:53:58 +0000 |
---|---|---|
committer | Tobias Klausmann <klausman@gentoo.org> | 2010-01-13 17:53:58 +0000 |
commit | 1fc24ac20bfc2070315c077f1b884c13d1e2f46f (patch) | |
tree | 7de75524894b0ccdc8dad9a870d54794eb211ec8 /sys-apps/arrayprobe | |
parent | Stable for HPPA (bug #299971). (diff) | |
download | historical-1fc24ac20bfc2070315c077f1b884c13d1e2f46f.tar.gz historical-1fc24ac20bfc2070315c077f1b884c13d1e2f46f.tar.bz2 historical-1fc24ac20bfc2070315c077f1b884c13d1e2f46f.zip |
Added 2.0-r2 inclduing a patch to make arrayprobe independent of the kernel sources.
Package-Manager: portage-2.1.7.16/cvs/Linux x86_64
Diffstat (limited to 'sys-apps/arrayprobe')
-rw-r--r-- | sys-apps/arrayprobe/ChangeLog | 10 | ||||
-rw-r--r-- | sys-apps/arrayprobe/Manifest | 15 | ||||
-rw-r--r-- | sys-apps/arrayprobe/arrayprobe-2.0-r2.ebuild (renamed from sys-apps/arrayprobe/arrayprobe-2.0-r1.ebuild) | 5 | ||||
-rw-r--r-- | sys-apps/arrayprobe/files/2.0-ida_headers.patch | 647 |
4 files changed, 663 insertions, 14 deletions
diff --git a/sys-apps/arrayprobe/ChangeLog b/sys-apps/arrayprobe/ChangeLog index 2c429e848a30..30bc91fc31aa 100644 --- a/sys-apps/arrayprobe/ChangeLog +++ b/sys-apps/arrayprobe/ChangeLog @@ -1,6 +1,14 @@ # ChangeLog for sys-apps/arrayprobe # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-apps/arrayprobe/ChangeLog,v 1.4 2010/01/13 12:13:17 chainsaw Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-apps/arrayprobe/ChangeLog,v 1.5 2010/01/13 17:53:57 klausman Exp $ + +*arrayprobe-2.0-r2 (13 Jan 2010) + + 13 Jan 2010; Tobias Klausmann <klausman@gentoo.org> + +files/2.0-ida_headers.patch, -arrayprobe-2.0-r1.ebuild, + +arrayprobe-2.0-r2.ebuild: + Added 2.0-r2 inclduing a patch to make arrayprobe independent of the + kernel sources. *arrayprobe-2.0-r1 (13 Jan 2010) diff --git a/sys-apps/arrayprobe/Manifest b/sys-apps/arrayprobe/Manifest index ce9cabe0b5fa..a3a270b49ab2 100644 --- a/sys-apps/arrayprobe/Manifest +++ b/sys-apps/arrayprobe/Manifest @@ -1,16 +1,7 @@ ------BEGIN PGP SIGNED MESSAGE----- -Hash: SHA1 - +AUX 2.0-ida_headers.patch 16391 RMD160 f3dfaa2b05d62cdb90fe48d58fb1f81279355277 SHA1 bb27fe466aec3fce260a35d863be457ea1e21181 SHA256 3d15c33bd0f27754a631f8afdcfb7c4c4ca7ef03b6b425f1f3cada1fcb6d4d56 AUX 2.0-malloc-strlen.patch 1152 RMD160 a616f0903f083777220c673a250c59a3e8e97de0 SHA1 05c0cf59555b05aee1edf91acc5a691e7484cbcf SHA256 6e2db6d203650800b392b600f592bf51bd27ddaf6fa0596415daf5f09a72b481 DIST arrayprobe-2.0.tar.gz 83831 RMD160 c60bd0d26c8517836ae71d09b6e2e71b3405810f SHA1 0a13cfe1339ee88c65202ee8a5cc42eca18f5627 SHA256 ccb560b5c7e8b378d110cad6e9245884e7e673acfa3c4016ef33acd699f1f4d0 -EBUILD arrayprobe-2.0-r1.ebuild 726 RMD160 96f16b19bba3423d718d25d7ea454ca0441f523a SHA1 d6d2bfd059acba801d10d99a0d24e4612720afa2 SHA256 4f17d07acf82bbf099dba4c3c989c9b2495192357f6a04c1bdf52bb5309bf72d +EBUILD arrayprobe-2.0-r2.ebuild 803 RMD160 273c593bccbcec2410beec184c14098c28e6d0e6 SHA1 ad077827d0165e0de5f1f01000b8e20f87882c32 SHA256 d669227a20877f24e3639d22a83a8fdf5fc5f5c6cac3879d913c0e9c01dea96c EBUILD arrayprobe-2.0.ebuild 613 RMD160 f859c95a26b4abd9b63ba8a84a91cdd436ad63e3 SHA1 4a80e5c370f66c0c4082bdb9dd45e40331e7ac82 SHA256 ad3159ef306f26e18f3553cda0ccd6d807f5f0a06157fb0a50ebcb5632350ff7 -MISC ChangeLog 900 RMD160 6dc8cd89a4ea23ee9cefc03a5c382dbb9ed9e47d SHA1 29d1939d3fe77b3b0894b89a6347b566c4cca2e3 SHA256 904455afb68004d42c5e3f27963731ea48094ba02d5de0ebbad72eb9402aacf5 +MISC ChangeLog 1166 RMD160 13806d2656ee5ad1127dd5d98a2621e71d186b34 SHA1 8e023d01a0a73b802d8adf075e79f762b53057a3 SHA256 15ca1d6cf9aa52c4c18b77883f4feb98ac8d05931f5b568bbc29e217078ba370 MISC metadata.xml 254 RMD160 823c99a514af57fe285c45f08538b7cc18e6342a SHA1 de5f6d0faac7d5f11daa399f9e875c30cac2ce64 SHA256 2817a53a07dd68fef8ec5467cb1a8441e87d77bd7eaf8ce9971de1adfbab7bdc ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.14 (GNU/Linux) - -iEYEARECAAYFAktNuHkACgkQp5vW4rUFj5qnpQCgvPAiBO9qkEYyjEk3Aq57Ptca -PScAnjyOoXXKsHhgYYLv9bcaG5FpGn04 -=Cx5R ------END PGP SIGNATURE----- diff --git a/sys-apps/arrayprobe/arrayprobe-2.0-r1.ebuild b/sys-apps/arrayprobe/arrayprobe-2.0-r2.ebuild index 0b7b1e74a2b5..c15230e7f89a 100644 --- a/sys-apps/arrayprobe/arrayprobe-2.0-r1.ebuild +++ b/sys-apps/arrayprobe/arrayprobe-2.0-r2.ebuild @@ -1,8 +1,9 @@ # Copyright 1999-2010 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-apps/arrayprobe/arrayprobe-2.0-r1.ebuild,v 1.1 2010/01/13 12:13:17 chainsaw Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-apps/arrayprobe/arrayprobe-2.0-r2.ebuild,v 1.1 2010/01/13 17:53:57 klausman Exp $ inherit eutils +inherit autotools DESCRIPTION="CLI utility that reports the status of a HP (Compaq) array controller (both IDA & CCISS supported)." HOMEPAGE="http://www.strocamp.net/opensource/arrayprobe.php" @@ -17,6 +18,8 @@ src_unpack() { unpack ${A} cd "${S}" epatch "${FILESDIR}/${PV}-malloc-strlen.patch" + epatch "${FILESDIR}/${PV}-ida_headers.patch" + eautoreconf } src_install() { diff --git a/sys-apps/arrayprobe/files/2.0-ida_headers.patch b/sys-apps/arrayprobe/files/2.0-ida_headers.patch new file mode 100644 index 000000000000..fbdb20b87ea6 --- /dev/null +++ b/sys-apps/arrayprobe/files/2.0-ida_headers.patch @@ -0,0 +1,647 @@ +diff -Naur arrayprobe-2.0.old/cciss_events.h arrayprobe-2.0/cciss_events.h +--- arrayprobe-2.0.old/cciss_events.h 2005-12-27 10:51:29.000000000 +0100 ++++ arrayprobe-2.0/cciss_events.h 2010-01-13 15:46:53.000000000 +0100 +@@ -27,8 +27,12 @@ + #define QWORD __u64 + + /* from cciss_cmd.h */ ++#ifndef CISS_MAX_LUN + #define CISS_MAX_LUN 16 ++#endif ++#ifndef CISS_MAX_PHYS_LUN + #define CISS_MAX_PHYS_LUN 1024 ++#endif + + #define CompareEvent(event,par_class,par_subclass,par_detail) \ + ((event.class.class==par_class) && \ +diff -Naur arrayprobe-2.0.old/configure.ac arrayprobe-2.0/configure.ac +--- arrayprobe-2.0.old/configure.ac 2006-01-03 13:58:31.000000000 +0100 ++++ arrayprobe-2.0/configure.ac 2010-01-13 15:42:49.000000000 +0100 +@@ -19,38 +19,6 @@ + dnl Check for compile.h (2.6.x kernels only? + AC_CHECK_HEADERS(linux/compiler.h) + +-dnl Check for kernel sources +-AC_MSG_CHECKING(for kernel sources) +-found_kernel_dir="" +-for kernel_dir in /usr/src/linux /usr/src/linux-2.4 +-do +- if test -d $kernel_dir/drivers/block ; then +- CFLAGS="$CFLAGS -I$kernel_dir/include -I$kernel_dir/drivers/block" +- CPPFLAGS="$CPPFLAGS -I$kernel_dir/include -I$kernel_dir/drivers/block" +- found_kernel_dir="$kernel_dir" +- fi +-done +- +-if test "$found_kernel_dir" != "" ; then +- AC_MSG_RESULT(found $found_kernel_dir ) +-else +- AC_MSG_ERROR(Kernel sources not found) +-fi +- +-dnl Check Headers +-AC_CHECK_HEADERS(ida_ioctl.h ida_cmd.h cpqarray.h,, +- AC_MSG_ERROR(You need to have the complete kernel sources.),[[#include <linux/compiler.h> +- #include <unistd.h>]]) +- +-dnl Check version of SmartArray driver +-AC_MSG_CHECKING(SmartArray driver version) +-AC_EGREP_HEADER(blk_cnt, ida_ioctl.h,AC_MSG_RESULT(ok), +- AC_MSG_ERROR(You need to have the SmartArray driver version 1.0.1 or higher installed.)) +- +-dnl Check for CCISS header file +-AC_CHECK_HEADERS(linux/cciss_ioctl.h,, +- AC_MSG_ERROR(You need to have the CCISS driver in the kernel.),[[#include <linux/compiler.h>]]) +- + # Checks for typedefs, structures, and compiler characteristics. + AC_C_CONST + +diff -Naur arrayprobe-2.0.old/cpqarray.h arrayprobe-2.0/cpqarray.h +--- arrayprobe-2.0.old/cpqarray.h 1970-01-01 01:00:00.000000000 +0100 ++++ arrayprobe-2.0/cpqarray.h 2010-01-13 15:40:11.000000000 +0100 +@@ -0,0 +1,126 @@ ++/* ++ * Disk Array driver for Compaq SMART2 Controllers ++ * Copyright 1998 Compaq Computer Corporation ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or ++ * NON INFRINGEMENT. See the GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++ * ++ * Questions/Comments/Bugfixes to iss_storagedev@hp.com ++ * ++ * If you want to make changes, improve or add functionality to this ++ * driver, you'll probably need the Compaq Array Controller Interface ++ * Specificiation (Document number ECG086/1198) ++ */ ++#ifndef CPQARRAY_H ++#define CPQARRAY_H ++ ++#ifdef __KERNEL__ ++#include <linux/blkdev.h> ++#include <linux/slab.h> ++#include <linux/proc_fs.h> ++#include <linux/timer.h> ++#endif ++ ++#include "ida_cmd.h" ++ ++#define IO_OK 0 ++#define IO_ERROR 1 ++#define NWD 16 ++#define NWD_SHIFT 4 ++ ++#define IDA_TIMER (5*HZ) ++#define IDA_TIMEOUT (10*HZ) ++ ++#define MISC_NONFATAL_WARN 0x01 ++ ++typedef struct { ++ unsigned blk_size; ++ unsigned nr_blks; ++ unsigned cylinders; ++ unsigned heads; ++ unsigned sectors; ++ int usage_count; ++} drv_info_t; ++ ++#ifdef __KERNEL__ ++ ++struct ctlr_info; ++typedef struct ctlr_info ctlr_info_t; ++ ++struct access_method { ++ void (*submit_command)(ctlr_info_t *h, cmdlist_t *c); ++ void (*set_intr_mask)(ctlr_info_t *h, unsigned long val); ++ unsigned long (*fifo_full)(ctlr_info_t *h); ++ unsigned long (*intr_pending)(ctlr_info_t *h); ++ unsigned long (*command_completed)(ctlr_info_t *h); ++}; ++ ++struct board_type { ++ __u32 board_id; ++ char *product_name; ++ struct access_method *access; ++}; ++ ++struct ctlr_info { ++ int ctlr; ++ char devname[8]; ++ __u32 log_drv_map; ++ __u32 drv_assign_map; ++ __u32 drv_spare_map; ++ __u32 mp_failed_drv_map; ++ ++ char firm_rev[4]; ++ int ctlr_sig; ++ ++ int log_drives; ++ int phys_drives; ++ ++ struct pci_dev *pci_dev; /* NULL if EISA */ ++ __u32 board_id; ++ char *product_name; ++ ++ void __iomem *vaddr; ++ unsigned long paddr; ++ unsigned long io_mem_addr; ++ unsigned long io_mem_length; ++ int intr; ++ int usage_count; ++ drv_info_t drv[NWD]; ++ struct proc_dir_entry *proc; ++ ++ struct access_method access; ++ ++ cmdlist_t *reqQ; ++ cmdlist_t *cmpQ; ++ cmdlist_t *cmd_pool; ++ dma_addr_t cmd_pool_dhandle; ++ unsigned long *cmd_pool_bits; ++ struct request_queue *queue; ++ spinlock_t lock; ++ ++ unsigned int Qdepth; ++ unsigned int maxQsinceinit; ++ ++ unsigned int nr_requests; ++ unsigned int nr_allocs; ++ unsigned int nr_frees; ++ struct timer_list timer; ++ unsigned int misc_tflags; ++}; ++ ++#define IDA_LOCK(i) (&hba[i]->lock) ++ ++#endif ++ ++#endif /* CPQARRAY_H */ +diff -Naur arrayprobe-2.0.old/ida_cmd.h arrayprobe-2.0/ida_cmd.h +--- arrayprobe-2.0.old/ida_cmd.h 1970-01-01 01:00:00.000000000 +0100 ++++ arrayprobe-2.0/ida_cmd.h 2010-01-13 15:40:29.000000000 +0100 +@@ -0,0 +1,349 @@ ++/* ++ * Disk Array driver for Compaq SMART2 Controllers ++ * Copyright 1998 Compaq Computer Corporation ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or ++ * NON INFRINGEMENT. See the GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++ * ++ * Questions/Comments/Bugfixes to iss_storagedev@hp.com ++ * ++ */ ++#ifndef ARRAYCMD_H ++#define ARRAYCMD_H ++ ++/*#include <asm/types.h>*/ ++#if 0 ++#include <linux/blkdev.h> ++#endif ++ ++/* for the Smart Array 42XX cards */ ++#define S42XX_REQUEST_PORT_OFFSET 0x40 ++#define S42XX_REPLY_INTR_MASK_OFFSET 0x34 ++#define S42XX_REPLY_PORT_OFFSET 0x44 ++#define S42XX_INTR_STATUS 0x30 ++ ++#define S42XX_INTR_OFF 0x08 ++#define S42XX_INTR_PENDING 0x08 ++ ++#define COMMAND_FIFO 0x04 ++#define COMMAND_COMPLETE_FIFO 0x08 ++#define INTR_MASK 0x0C ++#define INTR_STATUS 0x10 ++#define INTR_PENDING 0x14 ++ ++#define FIFO_NOT_EMPTY 0x01 ++#define FIFO_NOT_FULL 0x02 ++ ++#define BIG_PROBLEM 0x40 ++#define LOG_NOT_CONF 2 ++ ++#pragma pack(1) ++typedef struct { ++ __u32 size; ++ __u32 addr; ++} sg_t; ++ ++#define RCODE_NONFATAL 0x02 ++#define RCODE_FATAL 0x04 ++#define RCODE_INVREQ 0x10 ++typedef struct { ++ __u16 next; ++ __u8 cmd; ++ __u8 rcode; ++ __u32 blk; ++ __u16 blk_cnt; ++ __u8 sg_cnt; ++ __u8 reserved; ++} rhdr_t; ++ ++#define SG_MAX 32 ++typedef struct { ++ rhdr_t hdr; ++ sg_t sg[SG_MAX]; ++ __u32 bp; ++} rblk_t; ++ ++typedef struct { ++ __u8 unit; ++ __u8 prio; ++ __u16 size; ++} chdr_t; ++ ++#define CMD_RWREQ 0x00 ++#define CMD_IOCTL_PEND 0x01 ++#define CMD_IOCTL_DONE 0x02 ++ ++typedef struct cmdlist { ++ chdr_t hdr; ++ rblk_t req; ++ __u32 size; ++ int retry_cnt; ++ __u32 busaddr; ++ int ctlr; ++ struct cmdlist *prev; ++ struct cmdlist *next; ++ struct request *rq; ++ int type; ++} cmdlist_t; ++ ++#define ID_CTLR 0x11 ++typedef struct { ++ __u8 nr_drvs; ++ __u32 cfg_sig; ++ __u8 firm_rev[4]; ++ __u8 rom_rev[4]; ++ __u8 hw_rev; ++ __u32 bb_rev; ++ __u32 drv_present_map; ++ __u32 ext_drv_map; ++ __u32 board_id; ++ __u8 cfg_error; ++ __u32 non_disk_bits; ++ __u8 bad_ram_addr; ++ __u8 cpu_rev; ++ __u8 pdpi_rev; ++ __u8 epic_rev; ++ __u8 wcxc_rev; ++ __u8 marketing_rev; ++ __u8 ctlr_flags; ++ __u8 host_flags; ++ __u8 expand_dis; ++ __u8 scsi_chips; ++ __u32 max_req_blocks; ++ __u32 ctlr_clock; ++ __u8 drvs_per_bus; ++ __u16 big_drv_present_map[8]; ++ __u16 big_ext_drv_map[8]; ++ __u16 big_non_disk_map[8]; ++ __u16 task_flags; ++ __u8 icl_bus; ++ __u8 red_modes; ++ __u8 cur_red_mode; ++ __u8 red_ctlr_stat; ++ __u8 red_fail_reason; ++ __u8 reserved[403]; ++} id_ctlr_t; ++ ++typedef struct { ++ __u16 cyl; ++ __u8 heads; ++ __u8 xsig; ++ __u8 psectors; ++ __u16 wpre; ++ __u8 maxecc; ++ __u8 drv_ctrl; ++ __u16 pcyls; ++ __u8 pheads; ++ __u16 landz; ++ __u8 sect_per_track; ++ __u8 cksum; ++} drv_param_t; ++ ++#define ID_LOG_DRV 0x10 ++typedef struct { ++ __u16 blk_size; ++ __u32 nr_blks; ++ drv_param_t drv; ++ __u8 fault_tol; ++ __u8 reserved; ++ __u8 bios_disable; ++} id_log_drv_t; ++ ++#define ID_LOG_DRV_EXT 0x18 ++typedef struct { ++ __u32 log_drv_id; ++ __u8 log_drv_label[64]; ++ __u8 reserved[418]; ++} id_log_drv_ext_t; ++ ++#define SENSE_LOG_DRV_STAT 0x12 ++typedef struct { ++ __u8 status; ++ __u32 fail_map; ++ __u16 read_err[32]; ++ __u16 write_err[32]; ++ __u8 drv_err_data[256]; ++ __u8 drq_timeout[32]; ++ __u32 blks_to_recover; ++ __u8 drv_recovering; ++ __u16 remap_cnt[32]; ++ __u32 replace_drv_map; ++ __u32 act_spare_map; ++ __u8 spare_stat; ++ __u8 spare_repl_map[32]; ++ __u32 repl_ok_map; ++ __u8 media_exch; ++ __u8 cache_fail; ++ __u8 expn_fail; ++ __u8 unit_flags; ++ __u16 big_fail_map[8]; ++ __u16 big_remap_map[128]; ++ __u16 big_repl_map[8]; ++ __u16 big_act_spare_map[8]; ++ __u8 big_spar_repl_map[128]; ++ __u16 big_repl_ok_map[8]; ++ __u8 big_drv_rebuild; ++ __u8 reserved[36]; ++} sense_log_drv_stat_t; ++ ++#define START_RECOVER 0x13 ++ ++#define ID_PHYS_DRV 0x15 ++typedef struct { ++ __u8 scsi_bus; ++ __u8 scsi_id; ++ __u16 blk_size; ++ __u32 nr_blks; ++ __u32 rsvd_blks; ++ __u8 drv_model[40]; ++ __u8 drv_sn[40]; ++ __u8 drv_fw[8]; ++ __u8 scsi_iq_bits; ++ __u8 compaq_drv_stmp; ++ __u8 last_fail; ++ __u8 phys_drv_flags; ++ __u8 phys_drv_flags1; ++ __u8 scsi_lun; ++ __u8 phys_drv_flags2; ++ __u8 reserved; ++ __u32 spi_speed_rules; ++ __u8 phys_connector[2]; ++ __u8 phys_box_on_bus; ++ __u8 phys_bay_in_box; ++} id_phys_drv_t; ++ ++#define BLINK_DRV_LEDS 0x16 ++typedef struct { ++ __u32 blink_duration; ++ __u32 reserved; ++ __u8 blink[256]; ++ __u8 reserved1[248]; ++} blink_drv_leds_t; ++ ++#define SENSE_BLINK_LEDS 0x17 ++typedef struct { ++ __u32 blink_duration; ++ __u32 btime_elap; ++ __u8 blink[256]; ++ __u8 reserved1[248]; ++} sense_blink_leds_t; ++ ++#define IDA_READ 0x20 ++#define IDA_WRITE 0x30 ++#define IDA_WRITE_MEDIA 0x31 ++#define RESET_TO_DIAG 0x40 ++#define DIAG_PASS_THRU 0x41 ++ ++#define SENSE_CONFIG 0x50 ++#define SET_CONFIG 0x51 ++typedef struct { ++ __u32 cfg_sig; ++ __u16 compat_port; ++ __u8 data_dist_mode; ++ __u8 surf_an_ctrl; ++ __u16 ctlr_phys_drv; ++ __u16 log_unit_phys_drv; ++ __u16 fault_tol_mode; ++ __u8 phys_drv_param[16]; ++ drv_param_t drv; ++ __u32 drv_asgn_map; ++ __u16 dist_factor; ++ __u32 spare_asgn_map; ++ __u8 reserved[6]; ++ __u16 os; ++ __u8 ctlr_order; ++ __u8 extra_info; ++ __u32 data_offs; ++ __u8 parity_backedout_write_drvs; ++ __u8 parity_dist_mode; ++ __u8 parity_shift_fact; ++ __u8 bios_disable_flag; ++ __u32 blks_on_vol; ++ __u32 blks_per_drv; ++ __u8 scratch[16]; ++ __u16 big_drv_map[8]; ++ __u16 big_spare_map[8]; ++ __u8 ss_source_vol; ++ __u8 mix_drv_cap_range; ++ struct { ++ __u16 big_drv_map[8]; ++ __u32 blks_per_drv; ++ __u16 fault_tol_mode; ++ __u16 dist_factor; ++ } MDC_range[4]; ++ __u8 reserved1[248]; ++} config_t; ++ ++#define BYPASS_VOL_STATE 0x52 ++#define SS_CREATE_VOL 0x53 ++#define CHANGE_CONFIG 0x54 ++#define SENSE_ORIG_CONF 0x55 ++#define REORDER_LOG_DRV 0x56 ++typedef struct { ++ __u8 old_units[32]; ++} reorder_log_drv_t; ++ ++#define LABEL_LOG_DRV 0x57 ++typedef struct { ++ __u8 log_drv_label[64]; ++} label_log_drv_t; ++ ++#define SS_TO_VOL 0x58 ++ ++#define SET_SURF_DELAY 0x60 ++typedef struct { ++ __u16 delay; ++ __u8 reserved[510]; ++} surf_delay_t; ++ ++#define SET_OVERHEAT_DELAY 0x61 ++typedef struct { ++ __u16 delay; ++} overhead_delay_t; ++ ++#define SET_MP_DELAY ++typedef struct { ++ __u16 delay; ++ __u8 reserved[510]; ++} mp_delay_t; ++ ++#define PASSTHRU_A 0x91 ++typedef struct { ++ __u8 target; ++ __u8 bus; ++ __u8 lun; ++ __u32 timeout; ++ __u32 flags; ++ __u8 status; ++ __u8 error; ++ __u8 cdb_len; ++ __u8 sense_error; ++ __u8 sense_key; ++ __u32 sense_info; ++ __u8 sense_code; ++ __u8 sense_qual; ++ __u32 residual; ++ __u8 reserved[4]; ++ __u8 cdb[12]; ++} scsi_param_t; ++ ++#define RESUME_BACKGROUND_ACTIVITY 0x99 ++#define SENSE_CONTROLLER_PERFORMANCE 0xa8 ++#define FLUSH_CACHE 0xc2 ++#define COLLECT_BUFFER 0xd2 ++#define READ_FLASH_ROM 0xf6 ++#define WRITE_FLASH_ROM 0xf7 ++#pragma pack() ++ ++#endif /* ARRAYCMD_H */ +diff -Naur arrayprobe-2.0.old/ida_ioctl.h arrayprobe-2.0/ida_ioctl.h +--- arrayprobe-2.0.old/ida_ioctl.h 1970-01-01 01:00:00.000000000 +0100 ++++ arrayprobe-2.0/ida_ioctl.h 2010-01-13 15:44:46.000000000 +0100 +@@ -0,0 +1,87 @@ ++/* ++ * Disk Array driver for Compaq SMART2 Controllers ++ * Copyright 1998 Compaq Computer Corporation ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or ++ * NON INFRINGEMENT. See the GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++ * ++ * Questions/Comments/Bugfixes to iss_storagedev@hp.com ++ * ++ */ ++#ifndef IDA_IOCTL_H ++#define IDA_IOCTL_H ++ ++#include "ida_cmd.h" ++#include "cpqarray.h" ++ ++#define IDAGETDRVINFO 0x27272828 ++#define IDAPASSTHRU 0x28282929 ++#define IDAGETCTLRSIG 0x29293030 ++#define IDAREVALIDATEVOLS 0x30303131 ++#define IDADRIVERVERSION 0x31313232 ++#define IDAGETPCIINFO 0x32323333 ++ ++typedef struct _ida_pci_info_struct ++{ ++ unsigned char bus; ++ unsigned char dev_fn; ++ __u32 board_id; ++} ida_pci_info_struct; ++/* ++ * Normally, the ioctl determines the logical unit for this command by ++ * the major,minor number of the fd passed to ioctl. If you need to send ++ * a command to a different/nonexistant unit (such as during config), you ++ * can override the normal behavior by setting the unit valid bit. (Normally, ++ * it should be zero) The controller the command is sent to is still ++ * determined by the major number of the open device. ++ */ ++ ++#define UNITVALID 0x80 ++typedef struct { ++ __u8 cmd; ++ __u8 rcode; ++ __u8 unit; ++ __u32 blk; ++ __u16 blk_cnt; ++ ++/* currently, sg_cnt is assumed to be 1: only the 0th element of sg is used */ ++ struct { ++ void *addr; ++ size_t size; ++ } sg[SG_MAX]; ++ int sg_cnt; ++ ++ union ctlr_cmds { ++ drv_info_t drv; ++ unsigned char buf[1024]; ++ ++ id_ctlr_t id_ctlr; ++ drv_param_t drv_param; ++ id_log_drv_t id_log_drv; ++ id_log_drv_ext_t id_log_drv_ext; ++ sense_log_drv_stat_t sense_log_drv_stat; ++ id_phys_drv_t id_phys_drv; ++ blink_drv_leds_t blink_drv_leds; ++ sense_blink_leds_t sense_blink_leds; ++ config_t config; ++ reorder_log_drv_t reorder_log_drv; ++ label_log_drv_t label_log_drv; ++ surf_delay_t surf_delay; ++ overhead_delay_t overhead_delay; ++ mp_delay_t mp_delay; ++ scsi_param_t scsi_param; ++ } c; ++} ida_ioctl_t; ++ ++#endif /* IDA_IOCTL_H */ +diff -Naur arrayprobe-2.0.old/probe.c arrayprobe-2.0/probe.c +--- arrayprobe-2.0.old/probe.c 2006-01-03 14:11:17.000000000 +0100 ++++ arrayprobe-2.0/probe.c 2010-01-13 15:45:22.000000000 +0100 +@@ -33,10 +33,9 @@ + #include <getopt.h> + #include <errno.h> + +-#include <linux/compiler.h> + #include <linux/cciss_ioctl.h> + +-#include <ida_ioctl.h> ++#include "ida_ioctl.h" + + #include "cciss_events.h" + |