summaryrefslogtreecommitdiffstats
path: root/sys/dev/aac/aacreg.h
diff options
context:
space:
mode:
authoremaste <emaste@FreeBSD.org>2007-12-07 18:05:41 +0000
committeremaste <emaste@FreeBSD.org>2007-12-07 18:05:41 +0000
commit54fed38dbc7812cca7816359b3fdde5159dd733d (patch)
tree58f3083882d83c01b3a5d186d3b8837e62b45eaa /sys/dev/aac/aacreg.h
parent2cccff443ff96b4a98fa8d9e0e28049d977a1a78 (diff)
downloadFreeBSD-src-54fed38dbc7812cca7816359b3fdde5159dd733d.zip
FreeBSD-src-54fed38dbc7812cca7816359b3fdde5159dd733d.tar.gz
Add family support to allow the driver to attach to new devices that
share the same interface. Submitted by: Achim Leubner at Adaptec
Diffstat (limited to 'sys/dev/aac/aacreg.h')
-rw-r--r--sys/dev/aac/aacreg.h52
1 files changed, 52 insertions, 0 deletions
diff --git a/sys/dev/aac/aacreg.h b/sys/dev/aac/aacreg.h
index dacdead..dae21a4 100644
--- a/sys/dev/aac/aacreg.h
+++ b/sys/dev/aac/aacreg.h
@@ -604,6 +604,58 @@ struct aac_adapter_info {
AAC_OemFlavor OemVariant;
} __packed;
+/*
+ * Structure used to respond to a RequestSupplementAdapterInfo fib.
+ */
+struct vpd_info {
+ u_int8_t AssemblyPn[8];
+ u_int8_t FruPn[8];
+ u_int8_t BatteryFruPn[8];
+ u_int8_t EcVersionString[8];
+ u_int8_t Tsid[12];
+} __packed;
+
+#define MFG_PCBA_SERIAL_NUMBER_WIDTH 12
+#define MFG_WWN_WIDTH 8
+
+struct aac_supplement_adapter_info {
+ /* The assigned Adapter Type Text, extra byte for null termination */
+ int8_t AdapterTypeText[17+1];
+ /* Pad for the text above */
+ int8_t Pad[2];
+ /* Size in bytes of the memory that is flashed */
+ u_int32_t FlashMemoryByteSize;
+ /* The assigned IMAGEID_xxx for this adapter */
+ u_int32_t FlashImageId;
+ /*
+ * The maximum number of Phys available on a SATA/SAS
+ * Controller, 0 otherwise
+ */
+ u_int32_t MaxNumberPorts;
+ /* Version of expansion area */
+ u_int32_t Version;
+ u_int32_t FeatureBits;
+ u_int8_t SlotNumber;
+ u_int8_t ReservedPad0[3];
+ u_int8_t BuildDate[12];
+ /* The current number of Ports on a SAS controller, 0 otherwise */
+ u_int32_t CurrentNumberPorts;
+
+ struct vpd_info VpdInfo;
+
+ /* Firmware Revision (Vmaj.min-dash.) */
+ struct FsaRevision FlashFirmwareRevision;
+ u_int32_t RaidTypeMorphOptions;
+ /* Firmware's boot code Revision (Vmaj.min-dash.) */
+ struct FsaRevision FlashFirmwareBootRevision;
+ /* PCBA serial no. from th MFG sector */
+ u_int8_t MfgPcbaSerialNo[MFG_PCBA_SERIAL_NUMBER_WIDTH];
+ /* WWN from the MFG sector */
+ u_int8_t MfgWWNName[MFG_WWN_WIDTH];
+ /* Growth Area for future expansion ((7*4) - 12 - 8)/4 = 2 words */
+ u_int32_t ReservedGrowth[2];
+} __packed;
+
/*
* Monitor/Kernel interface.
*/
OpenPOWER on IntegriCloud