aacreg.h (109088) | aacreg.h (112679) |
---|---|
1/*- 2 * Copyright (c) 2000 Michael Smith 3 * Copyright (c) 2000-2001 Scott Long 4 * Copyright (c) 2000 BSDi 5 * Copyright (c) 2001 Adaptec, Inc. 6 * All rights reserved. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 12 unchanged lines hidden (view full) --- 21 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 22 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 23 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 24 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 26 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 27 * SUCH DAMAGE. 28 * | 1/*- 2 * Copyright (c) 2000 Michael Smith 3 * Copyright (c) 2000-2001 Scott Long 4 * Copyright (c) 2000 BSDi 5 * Copyright (c) 2001 Adaptec, Inc. 6 * All rights reserved. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 12 unchanged lines hidden (view full) --- 21 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 22 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 23 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 24 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 26 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 27 * SUCH DAMAGE. 28 * |
29 * $FreeBSD: head/sys/dev/aac/aacreg.h 109088 2003-01-11 01:59:21Z scottl $ | 29 * $FreeBSD: head/sys/dev/aac/aacreg.h 112679 2003-03-26 17:50:11Z scottl $ |
30 */ 31 32/* 33 * Data structures defining the interface between the driver and the Adaptec 34 * 'FSA' adapters. Note that many field names and comments here are taken 35 * verbatim from the Adaptec driver source in order to make comparing the 36 * two slightly easier. 37 */ --- 298 unchanged lines hidden (view full) --- 336/* 337 * Host-side scatter/gather list for 32-bit commands. 338 */ 339struct aac_sg_entry { 340 u_int32_t SgAddress; 341 u_int32_t SgByteCount; 342} __packed; 343 | 30 */ 31 32/* 33 * Data structures defining the interface between the driver and the Adaptec 34 * 'FSA' adapters. Note that many field names and comments here are taken 35 * verbatim from the Adaptec driver source in order to make comparing the 36 * two slightly easier. 37 */ --- 298 unchanged lines hidden (view full) --- 336/* 337 * Host-side scatter/gather list for 32-bit commands. 338 */ 339struct aac_sg_entry { 340 u_int32_t SgAddress; 341 u_int32_t SgByteCount; 342} __packed; 343 |
344struct aac_sg_entry64 { 345 u_int64_t SgAddress; 346 u_int32_t SgByteCount; 347} __packed; 348 |
|
344struct aac_sg_table { 345 u_int32_t SgCount; 346 struct aac_sg_entry SgEntry[0]; 347} __packed; 348 349/* 350 * Host-side scatter/gather list for 64-bit commands. 351 */ 352struct aac_sg_table64 { | 349struct aac_sg_table { 350 u_int32_t SgCount; 351 struct aac_sg_entry SgEntry[0]; 352} __packed; 353 354/* 355 * Host-side scatter/gather list for 64-bit commands. 356 */ 357struct aac_sg_table64 { |
353 u_int8_t SgCount; 354 u_int8_t SgSectorsPerPage; 355 u_int16_t SgByteOffset; 356 u_int64_t SgEntry[0]; | 358 u_int32_t SgCount; 359 struct aac_sg_entry64 SgEntry64[0]; |
357} __packed; 358 359/* 360 * Container creation data 361 */ 362struct aac_container_creation { 363 u_int8_t ViaBuildNumber; 364 u_int8_t MicroSecond; --- 118 unchanged lines hidden (view full) --- 483 * fsaapi.h, search for FSA_SUPPORT_SNAPSHOT 484 */ 485#define AAC_SUPPORTED_SNAPSHOT 0x01 486#define AAC_SUPPORTED_CLUSTERS 0x02 487#define AAC_SUPPORTED_WRITE_CACHE 0x04 488#define AAC_SUPPORTED_64BIT_DATA 0x08 489#define AAC_SUPPORTED_HOST_TIME_FIB 0x10 490#define AAC_SUPPORTED_RAID50 0x20 | 360} __packed; 361 362/* 363 * Container creation data 364 */ 365struct aac_container_creation { 366 u_int8_t ViaBuildNumber; 367 u_int8_t MicroSecond; --- 118 unchanged lines hidden (view full) --- 486 * fsaapi.h, search for FSA_SUPPORT_SNAPSHOT 487 */ 488#define AAC_SUPPORTED_SNAPSHOT 0x01 489#define AAC_SUPPORTED_CLUSTERS 0x02 490#define AAC_SUPPORTED_WRITE_CACHE 0x04 491#define AAC_SUPPORTED_64BIT_DATA 0x08 492#define AAC_SUPPORTED_HOST_TIME_FIB 0x10 493#define AAC_SUPPORTED_RAID50 0x20 |
494#define AAC_SUPPORTED_4GB_WINDOW 0x40 495#define AAC_SUPPORTED_SCSI_UPGRADEABLE 0x80 496#define AAC_SUPPORTED_SOFT_ERR_REPORT 0x100 497#define AAC_SUPPORTED_NOT_RECONDITION 0x200 498#define AAC_SUPPORTED_SGMAP_HOST64 0x400 499#define AAC_SUPPORTED_ALARM 0x800 500#define AAC_SUPPORTED_NONDASD 0x1000 |
|
491 492/* 493 * Structure used to respond to a RequestAdapterInfo fib. 494 */ 495struct aac_adapter_info { 496 AAC_Platform PlatformBase; /* adapter type */ 497 AAC_CpuType CpuArchitecture; /* adapter CPU type */ 498 AAC_CpuSubType CpuVariant; /* adapter CPU subtype */ --- 22 unchanged lines hidden (view full) --- 521 */ 522 523/* 524 * Synchronous commands to the monitor/kernel. 525 */ 526#define AAC_MONKER_INITSTRUCT 0x05 527#define AAC_MONKER_SYNCFIB 0x0c 528#define AAC_MONKER_GETKERNVER 0x11 | 501 502/* 503 * Structure used to respond to a RequestAdapterInfo fib. 504 */ 505struct aac_adapter_info { 506 AAC_Platform PlatformBase; /* adapter type */ 507 AAC_CpuType CpuArchitecture; /* adapter CPU type */ 508 AAC_CpuSubType CpuVariant; /* adapter CPU subtype */ --- 22 unchanged lines hidden (view full) --- 531 */ 532 533/* 534 * Synchronous commands to the monitor/kernel. 535 */ 536#define AAC_MONKER_INITSTRUCT 0x05 537#define AAC_MONKER_SYNCFIB 0x0c 538#define AAC_MONKER_GETKERNVER 0x11 |
539#define AAC_MONKER_GETINFO 0x19 |
|
529 530/* 531 * Adapter Status Register 532 * 533 * Phase Staus mailbox is 32bits: 534 * <31:16> = Phase Status 535 * <15:0> = Phase 536 * --- 419 unchanged lines hidden (view full) --- 956 VM_DriveBlockWrite, 957 VM_EnclosureMgt, /* enclosure management */ 958 VM_Unused, /* used to be diskset management */ 959 VM_CtBlockVerify, 960 VM_CtPerf, /* performance test */ 961 VM_CtBlockRead64, 962 VM_CtBlockWrite64, 963 VM_CtBlockVerify64, | 540 541/* 542 * Adapter Status Register 543 * 544 * Phase Staus mailbox is 32bits: 545 * <31:16> = Phase Status 546 * <15:0> = Phase 547 * --- 419 unchanged lines hidden (view full) --- 967 VM_DriveBlockWrite, 968 VM_EnclosureMgt, /* enclosure management */ 969 VM_Unused, /* used to be diskset management */ 970 VM_CtBlockVerify, 971 VM_CtPerf, /* performance test */ 972 VM_CtBlockRead64, 973 VM_CtBlockWrite64, 974 VM_CtBlockVerify64, |
975 VM_CtHostRead64, 976 VM_CtHostWrite64, |
|
964} AAC_VMCommand; 965 966/* 967 * "mountable object" 968 */ 969struct aac_mntobj { 970 u_int32_t ObjectId; 971 char FileSystemName[16]; --- 157 unchanged lines hidden (view full) --- 1129struct aac_blockread { 1130 u_int32_t Command; /* not FSACommand! */ 1131 u_int32_t ContainerId; 1132 u_int32_t BlockNumber; 1133 u_int32_t ByteCount; 1134 struct aac_sg_table SgMap; /* variable size */ 1135} __packed; 1136 | 977} AAC_VMCommand; 978 979/* 980 * "mountable object" 981 */ 982struct aac_mntobj { 983 u_int32_t ObjectId; 984 char FileSystemName[16]; --- 157 unchanged lines hidden (view full) --- 1142struct aac_blockread { 1143 u_int32_t Command; /* not FSACommand! */ 1144 u_int32_t ContainerId; 1145 u_int32_t BlockNumber; 1146 u_int32_t ByteCount; 1147 struct aac_sg_table SgMap; /* variable size */ 1148} __packed; 1149 |
1150struct aac_blockread64 { 1151 u_int32_t Command; 1152 u_int16_t ContainerId; 1153 u_int16_t SectorCount; 1154 u_int32_t BlockNumber; 1155 u_int16_t Pad; 1156 u_int16_t Flags; 1157 struct aac_sg_table64 SgMap64; 1158} __packed; 1159 |
|
1137struct aac_blockread_response { 1138 u_int32_t Status; 1139 u_int32_t ByteCount; 1140} __packed; 1141 1142struct aac_blockwrite { 1143 u_int32_t Command; /* not FSACommand! */ 1144 u_int32_t ContainerId; 1145 u_int32_t BlockNumber; 1146 u_int32_t ByteCount; 1147 u_int32_t Stable; 1148 struct aac_sg_table SgMap; /* variable size */ 1149} __packed; 1150 | 1160struct aac_blockread_response { 1161 u_int32_t Status; 1162 u_int32_t ByteCount; 1163} __packed; 1164 1165struct aac_blockwrite { 1166 u_int32_t Command; /* not FSACommand! */ 1167 u_int32_t ContainerId; 1168 u_int32_t BlockNumber; 1169 u_int32_t ByteCount; 1170 u_int32_t Stable; 1171 struct aac_sg_table SgMap; /* variable size */ 1172} __packed; 1173 |
1174struct aac_blockwrite64 { 1175 u_int32_t Command; /* not FSACommand! */ 1176 u_int16_t ContainerId; 1177 u_int16_t SectorCount; 1178 u_int32_t BlockNumber; 1179 u_int16_t Pad; 1180 u_int16_t Flags; 1181 struct aac_sg_table64 SgMap64; /* variable size */ 1182} __packed; 1183 |
|
1151struct aac_blockwrite_response { 1152 u_int32_t Status; 1153 u_int32_t ByteCount; 1154 u_int32_t Committed; 1155} __packed; 1156 1157/* 1158 * Container shutdown command. --- 176 unchanged lines hidden --- | 1184struct aac_blockwrite_response { 1185 u_int32_t Status; 1186 u_int32_t ByteCount; 1187 u_int32_t Committed; 1188} __packed; 1189 1190/* 1191 * Container shutdown command. --- 176 unchanged lines hidden --- |