diff options
author | Marco Peereboom <marco@cvs.openbsd.org> | 2006-06-15 04:45:00 +0000 |
---|---|---|
committer | Marco Peereboom <marco@cvs.openbsd.org> | 2006-06-15 04:45:00 +0000 |
commit | 464263103058491c13b88c4fed5b7f6d4eabcf20 (patch) | |
tree | 1cfd752a6cc84dd3ac24e47d607d8bc8f3ef5cee /sys/dev/ic/mpireg.h | |
parent | b8ae841ef38a2439d43267f0cec4a9c1cc0ec250 (diff) |
Add structures and initial code to retrieve IOC page 2. We need this for
RAID support and bio. "go at it" dlg
Diffstat (limited to 'sys/dev/ic/mpireg.h')
-rw-r--r-- | sys/dev/ic/mpireg.h | 35 |
1 files changed, 34 insertions, 1 deletions
diff --git a/sys/dev/ic/mpireg.h b/sys/dev/ic/mpireg.h index 62da10f12dd..27c9fd4ac9a 100644 --- a/sys/dev/ic/mpireg.h +++ b/sys/dev/ic/mpireg.h @@ -1,4 +1,4 @@ -/* $OpenBSD: mpireg.h,v 1.13 2006/06/12 03:55:39 dlg Exp $ */ +/* $OpenBSD: mpireg.h,v 1.14 2006/06/15 04:44:59 marco Exp $ */ /* * Copyright (c) 2005 David Gwynne <dlg@openbsd.org> @@ -1006,3 +1006,36 @@ struct mpi_cfg_manufacturing_pg0 { char board_assembly[16]; char board_tracer_number[16]; } __packed; + +struct mpi_cfg_raid_vol { + struct mpi_cfg_hdr config_header; + + u_int8_t vol_id; + u_int8_t vol_bus; + u_int8_t vol_ioc; + u_int8_t vol_page; + u_int8_t vol_type; +#define MPI_CFG_RAID_TYPE_RAID_IS (1<<0) /* RAID 0 */ +#define MPI_CFG_RAID_TYPE_RAID_IME (1<<1) /* RAID 1 */ +#define MPI_CFG_RAID_TYPE_RAID_IM (1<<2) /* RAID 1 */ +#define MPI_CFG_RAID_TYPE_RAID5 (1<<3) +#define MPI_CFG_RAID_TYPE_RAID6 (1<<4) +#define MPI_CFG_RAID_TYPE_RAID10 (1<<5) +#define MPI_CFG_RAID_TYPE_RAID50 (1<<6) +#define MPI_CFG_RAID_TYPE_UNKNOWN (0xff) + u_int8_t flags; +#define MPI_CFG_RAID_VOL_ACTIVE (0<<3) +#define MPI_CFG_RAID_VOL_INACTIVE (1<<3) + u_int16_t reserved; +} __packed; + +struct mpi_cfg_ioc_pg2 { + struct mpi_cfg_hdr config_header; + + u_int32_t capabilities; + u_int8_t no_active_vols; + u_int8_t max_vols; + u_int8_t no_active_phys_disks; + u_int8_t max_phys_disks; + struct mpi_cfg_raid_vol raid_vol[1]; /* length is stored in header */ +} __packed; |