summaryrefslogtreecommitdiff
path: root/sys/dev/ic/mpireg.h
diff options
context:
space:
mode:
authorDavid Gwynne <dlg@cvs.openbsd.org>2006-05-27 22:40:42 +0000
committerDavid Gwynne <dlg@cvs.openbsd.org>2006-05-27 22:40:42 +0000
commit1f151608312ce444020cf4d74ae1f3e386aa1da0 (patch)
tree4db27cfa11f06c3f201584b62ff0d3e01c8d2d1f /sys/dev/ic/mpireg.h
parent5c3f7303a98cb1d15293dfd9954ae78ff43ea528 (diff)
add the messages for config page requests and replies.
Diffstat (limited to 'sys/dev/ic/mpireg.h')
-rw-r--r--sys/dev/ic/mpireg.h78
1 files changed, 77 insertions, 1 deletions
diff --git a/sys/dev/ic/mpireg.h b/sys/dev/ic/mpireg.h
index c8fa1e27f75..502597cca82 100644
--- a/sys/dev/ic/mpireg.h
+++ b/sys/dev/ic/mpireg.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: mpireg.h,v 1.1 2006/05/27 19:03:55 dlg Exp $ */
+/* $OpenBSD: mpireg.h,v 1.2 2006/05/27 22:40:41 dlg Exp $ */
/*
* Copyright (c) 2005 David Gwynne <dlg@openbsd.org>
@@ -692,3 +692,79 @@ struct mpi_msg_scsi_io_error {
u_int16_t tag;
u_int16_t reserved2;
} __packed;
+
+struct mpi_msg_config_request {
+ u_int8_t action;
+#define MPI_CONFIG_REQ_ACTION_PAGE_HEADER (0x00)
+#define MPI_CONFIG_REQ_ACTION_PAGE_READ_CURRENT (0x01)
+#define MPI_CONFIG_REQ_ACTION_PAGE_WRITE_CURRENT (0x02)
+#define MPI_CONFIG_REQ_ACTION_PAGE_DEFAULT (0x03)
+#define MPI_CONFIG_REQ_ACTION_PAGE_WRITE_NVRAM (0x04)
+#define MPI_CONFIG_REQ_ACTION_PAGE_READ_DEFAULT (0x05)
+#define MPI_CONFIG_REQ_ACTION_PAGE_READ_NVRAM (0x06)
+ u_int8_t reserved1;
+ u_int8_t chain_offset;
+ u_int8_t function;
+
+ u_int16_t ext_page_len;
+ u_int8_t ext_page_type;
+#define MPI_CONFIG_REQ_EXTPAGE_TYPE_SAS_IO_UNIT (0x10)
+#define MPI_CONFIG_REQ_EXTPAGE_TYPE_SAS_EXPANDER (0x11)
+#define MPI_CONFIG_REQ_EXTPAGE_TYPE_SAS_DEVICE (0x12)
+#define MPI_CONFIG_REQ_EXTPAGE_TYPE_SAS_PHY (0x13)
+#define MPI_CONFIG_REQ_EXTPAGE_TYPE_LOG (0x14)
+ u_int8_t msg_flags;
+
+ u_int32_t msg_context;
+
+ u_int32_t reserved2[2];
+
+ u_int8_t page_version;
+ u_int8_t page_length;
+ u_int8_t page_number;
+ u_int8_t page_type;
+#define MPI_CONFIG_REQ_PAGE_TYPE_ATTRIBUTE (0xf0)
+#define MPI_CONFIG_REQ_PAGE_TYPE_IO_UNIT (0x00)
+#define MPI_CONFIG_REQ_PAGE_TYPE_IOC (0x01)
+#define MPI_CONFIG_REQ_PAGE_TYPE_BIOS (0x02)
+#define MPI_CONFIG_REQ_PAGE_TYPE_SCSI_SPI_PORT (0x03)
+#define MPI_CONFIG_REQ_PAGE_TYPE_SCSI_SPI_DEV (0x04)
+#define MPI_CONFIG_REQ_PAGE_TYPE_FC_PORT (0x05)
+#define MPI_CONFIG_REQ_PAGE_TYPE_FC_DEV (0x06)
+#define MPI_CONFIG_REQ_PAGE_TYPE_LAN (0x07)
+#define MPI_CONFIG_REQ_PAGE_TYPE_RAID_VOL (0x08)
+#define MPI_CONFIG_REQ_PAGE_TYPE_MANUFACTURING (0x09)
+#define MPI_CONFIG_REQ_PAGE_TYPE_RAID_PD (0x0A)
+#define MPI_CONFIG_REQ_PAGE_TYPE_INBAND (0x0B)
+#define MPI_CONFIG_REQ_PAGE_TYPE_EXTENDED (0x0F)
+
+ u_int32_t page_address;
+/* XXX lots of defns here */
+
+ struct mpi_sge32 page_buffer;
+} __packed;
+
+struct mpi_msg_config_reply {
+ u_int8_t action;
+ u_int8_t reserved1;
+ u_int8_t msg_length;
+ u_int8_t function;
+
+ u_int16_t ext_page_length;
+ u_int8_t ext_page_type;
+ u_int8_t msg_flags;
+
+ u_int32_t msg_context;
+
+ u_int16_t reserved2;
+ u_int16_t ioc_status;
+
+ u_int32_t ioc_loginfo;
+
+ u_int8_t page_version;
+ u_int8_t page_length;
+ u_int8_t page_number;
+ u_int8_t page_type;
+} __packed;
+
+