aacreg.h (146851) | aacreg.h (151086) |
---|---|
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 146851 2005-06-01 07:11:17Z scottl $ | 29 * $FreeBSD: head/sys/dev/aac/aacreg.h 151086 2005-10-08 15:55:09Z 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 */ --- 157 unchanged lines hidden (view full) --- 195 NuFileSystem = 300, 196 UFS = 301, 197 HostFileSystem = 302, 198 LastFileSystemCommand = 303, 199 200 /* Container Commands */ 201 ContainerCommand = 500, 202 ContainerCommand64 = 501, | 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 */ --- 157 unchanged lines hidden (view full) --- 195 NuFileSystem = 300, 196 UFS = 301, 197 HostFileSystem = 302, 198 LastFileSystemCommand = 303, 199 200 /* Container Commands */ 201 ContainerCommand = 500, 202 ContainerCommand64 = 501, |
203 RawIo = 502, |
|
203 204 /* Cluster Commands */ 205 ClusterCommand = 550, 206 207 /* Scsi Port commands (scsi passthrough) */ 208 ScsiPortCommand = 600, | 204 205 /* Cluster Commands */ 206 ClusterCommand = 550, 207 208 /* Scsi Port commands (scsi passthrough) */ 209 ScsiPortCommand = 600, |
210 ScsiPortCommandU64 = 601, 211 SataPortCommandU64 = 602, 212 SasSmpPassThrough = 603, 213 SasRequestPhyInfo = 612, |
|
209 210 /* misc house keeping and generic adapter initiated commands */ 211 AifRequest = 700, 212 CheckRevision = 701, 213 FsaHostShutdown = 702, 214 RequestAdapterInfo = 703, 215 IsAdapterPaused = 704, 216 SendHostTime = 705, | 214 215 /* misc house keeping and generic adapter initiated commands */ 216 AifRequest = 700, 217 CheckRevision = 701, 218 FsaHostShutdown = 702, 219 RequestAdapterInfo = 703, 220 IsAdapterPaused = 704, 221 SendHostTime = 705, |
217 LastMiscCommand = 706 | 222 RequestSupplementAdapterInfo = 706, /* Supp. Info for set in UCC 223 * use only if supported 224 * (RequestAdapterInfo first) */ 225 LastMiscCommand = 707, 226 227 OnLineDiagnostic = 800, 228 FduAdapterTest = 801, 229 RequestCompatibilityId = 802, 230 AdapterEnvironmentInfo = 803, /* temp. sensors */ 231 NvsramEventLog = 900, 232 ResetNvsramEventLogPointers = 901, 233 EnableEventLog = 902, 234 DisableEventLog = 903, 235 EncryptedKeyTransportFIB= 904, 236 KeyableFeaturesFIB= 905 |
218} AAC_FibCommands; 219 220/* 221 * FIB types 222 */ 223#define AAC_FIBTYPE_TFIB 1 224#define AAC_FIBTYPE_TQE 2 225#define AAC_FIBTYPE_TCTPERF 3 --- 39 unchanged lines hidden (view full) --- 265 266/* 267 * Adapter Init Structure: this is passed to the adapter with the 268 * AAC_MONKER_INITSTRUCT command to point it at our control structures. 269 */ 270struct aac_adapter_init { 271 u_int32_t InitStructRevision; 272#define AAC_INIT_STRUCT_REVISION 3 | 237} AAC_FibCommands; 238 239/* 240 * FIB types 241 */ 242#define AAC_FIBTYPE_TFIB 1 243#define AAC_FIBTYPE_TQE 2 244#define AAC_FIBTYPE_TCTPERF 3 --- 39 unchanged lines hidden (view full) --- 284 285/* 286 * Adapter Init Structure: this is passed to the adapter with the 287 * AAC_MONKER_INITSTRUCT command to point it at our control structures. 288 */ 289struct aac_adapter_init { 290 u_int32_t InitStructRevision; 291#define AAC_INIT_STRUCT_REVISION 3 |
292#define AAC_INIT_STRUCT_REVISION_4 4 |
|
273 u_int32_t MiniPortRevision; 274#define AAC_INIT_STRUCT_MINIPORT_REVISION 1 275 u_int32_t FilesystemRevision; 276 u_int32_t CommHeaderAddress; 277 u_int32_t FastIoCommAreaAddress; 278 u_int32_t AdapterFibsPhysicalAddress; 279 u_int32_t AdapterFibsVirtualAddress; 280 u_int32_t AdapterFibsSize; 281 u_int32_t AdapterFibAlign; 282 u_int32_t PrintfBufferAddress; 283 u_int32_t PrintfBufferSize; 284#define AAC_PAGE_SIZE 4096 285 u_int32_t HostPhysMemPages; 286 u_int32_t HostElapsedSeconds; | 293 u_int32_t MiniPortRevision; 294#define AAC_INIT_STRUCT_MINIPORT_REVISION 1 295 u_int32_t FilesystemRevision; 296 u_int32_t CommHeaderAddress; 297 u_int32_t FastIoCommAreaAddress; 298 u_int32_t AdapterFibsPhysicalAddress; 299 u_int32_t AdapterFibsVirtualAddress; 300 u_int32_t AdapterFibsSize; 301 u_int32_t AdapterFibAlign; 302 u_int32_t PrintfBufferAddress; 303 u_int32_t PrintfBufferSize; 304#define AAC_PAGE_SIZE 4096 305 u_int32_t HostPhysMemPages; 306 u_int32_t HostElapsedSeconds; |
307 /* ADAPTER_INIT_STRUCT_REVISION_4 begins here */ 308 u_int32_t InitFlags; /* flags for supported features */ 309#define INITFLAGS_NEW_COMM_SUPPORTED 1 310 u_int32_t MaxIoCommands; /* max outstanding commands */ 311 u_int32_t MaxIoSize; /* largest I/O command */ 312 u_int32_t MaxFibSize; /* largest FIB to adapter */ |
|
287} __packed; 288 289/* 290 * Shared data types 291 */ 292/* 293 * Container types 294 */ --- 8 unchanged lines hidden (view full) --- 303 CT_MORPH, 304 CT_PASSTHRU, 305 CT_RAID4, 306 CT_RAID10, /* stripe of mirror */ 307 CT_RAID00, /* stripe of stripe */ 308 CT_VOLUME_OF_MIRRORS, /* volume of mirror */ 309 CT_PSEUDO_RAID3, /* really raid4 */ 310 CT_RAID50, /* stripe of raid5 */ | 313} __packed; 314 315/* 316 * Shared data types 317 */ 318/* 319 * Container types 320 */ --- 8 unchanged lines hidden (view full) --- 329 CT_MORPH, 330 CT_PASSTHRU, 331 CT_RAID4, 332 CT_RAID10, /* stripe of mirror */ 333 CT_RAID00, /* stripe of stripe */ 334 CT_VOLUME_OF_MIRRORS, /* volume of mirror */ 335 CT_PSEUDO_RAID3, /* really raid4 */ 336 CT_RAID50, /* stripe of raid5 */ |
337 CT_RAID5D, /* raid5 distributed hot-sparing */ 338 CT_RAID5D0, 339 CT_RAID1E, /* extended raid1 mirroring */ 340 CT_RAID6, 341 CT_RAID60, |
|
311} AAC_FSAVolType; 312 313/* 314 * Host-addressable object types 315 */ 316typedef enum { 317 FT_REG = 1, /* regular file */ 318 FT_DIR, /* directory */ --- 22 unchanged lines hidden (view full) --- 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 | 342} AAC_FSAVolType; 343 344/* 345 * Host-addressable object types 346 */ 347typedef enum { 348 FT_REG = 1, /* regular file */ 349 FT_DIR, /* directory */ --- 22 unchanged lines hidden (view full) --- 372 u_int32_t SgByteCount; 373} __packed; 374 375struct aac_sg_entry64 { 376 u_int64_t SgAddress; 377 u_int32_t SgByteCount; 378} __packed; 379 |
380struct aac_sg_entryraw { 381 u_int32_t Next; /* reserved for FW use */ 382 u_int32_t Prev; /* reserved for FW use */ 383 u_int64_t SgAddress; 384 u_int32_t SgByteCount; 385 u_int32_t Flags; /* reserved for FW use */ 386} __packed; 387 |
|
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 { 358 u_int32_t SgCount; 359 struct aac_sg_entry64 SgEntry64[0]; 360} __packed; 361 362/* | 388struct aac_sg_table { 389 u_int32_t SgCount; 390 struct aac_sg_entry SgEntry[0]; 391} __packed; 392 393/* 394 * Host-side scatter/gather list for 64-bit commands. 395 */ 396struct aac_sg_table64 { 397 u_int32_t SgCount; 398 struct aac_sg_entry64 SgEntry64[0]; 399} __packed; 400 401/* |
402 * s/g list for raw commands 403 */ 404struct aac_sg_tableraw { 405 u_int32_t SgCount; 406 struct aac_sg_entryraw SgEntryRaw[0]; 407} __packed; 408 409/* |
|
363 * Container creation data 364 */ 365struct aac_container_creation { 366 u_int8_t ViaBuildNumber; 367 u_int8_t MicroSecond; 368 u_int8_t Via; /* 1 = FSU, 2 = API, etc. */ 369 u_int8_t YearsSince1900; 370 u_int32_t Month:4; /* 1-12 */ --- 41 unchanged lines hidden (view full) --- 412 CPU_NTSIM = 1, 413 CPU_I960, 414 CPU_ARM, 415 CPU_SPARC, 416 CPU_POWERPC, 417 CPU_ALPHA, 418 CPU_P7, 419 CPU_I960_RX, | 410 * Container creation data 411 */ 412struct aac_container_creation { 413 u_int8_t ViaBuildNumber; 414 u_int8_t MicroSecond; 415 u_int8_t Via; /* 1 = FSU, 2 = API, etc. */ 416 u_int8_t YearsSince1900; 417 u_int32_t Month:4; /* 1-12 */ --- 41 unchanged lines hidden (view full) --- 459 CPU_NTSIM = 1, 460 CPU_I960, 461 CPU_ARM, 462 CPU_SPARC, 463 CPU_POWERPC, 464 CPU_ALPHA, 465 CPU_P7, 466 CPU_I960_RX, |
467 CPU_MIPS, 468 CPU_XSCALE, |
|
420 CPU__last 421} AAC_CpuType; 422 423typedef enum { 424 CPUI960_JX = 1, 425 CPUI960_CX, 426 CPUI960_HX, 427 CPUI960_RX, 428 CPUARM_SA110, 429 CPUARM_xxx, | 469 CPU__last 470} AAC_CpuType; 471 472typedef enum { 473 CPUI960_JX = 1, 474 CPUI960_CX, 475 CPUI960_HX, 476 CPUI960_RX, 477 CPUARM_SA110, 478 CPUARM_xxx, |
430 CPUMPC_824x, | 479 CPUPPC_603e, |
431 CPUPPC_xxx, | 480 CPUPPC_xxx, |
432 CPUI960_30X, | 481 CPUI960_80303, 482 CPU_XSCALE_80321, 483 CPU_MIPS_4KC, 484 CPU_MIPS_5KC, |
433 CPUSUBTYPE__last 434} AAC_CpuSubType; 435 436typedef enum { 437 PLAT_NTSIM = 1, 438 PLAT_V3ADU, 439 PLAT_CYCLONE, 440 PLAT_CYCLONE_HD, --- 8 unchanged lines hidden (view full) --- 449 PLAT_POBLANO, 450 PLAT_POBLANO_OPAL, 451 PLAT_POBLANO_SL0, 452 PLAT_POBLANO_SL1, 453 PLAT_POBLANO_SL2, 454 PLAT_POBLANO_XXX, 455 PLAT_JALAPENO_P2, 456 PLAT_HABANERO, | 485 CPUSUBTYPE__last 486} AAC_CpuSubType; 487 488typedef enum { 489 PLAT_NTSIM = 1, 490 PLAT_V3ADU, 491 PLAT_CYCLONE, 492 PLAT_CYCLONE_HD, --- 8 unchanged lines hidden (view full) --- 501 PLAT_POBLANO, 502 PLAT_POBLANO_OPAL, 503 PLAT_POBLANO_SL0, 504 PLAT_POBLANO_SL1, 505 PLAT_POBLANO_SL2, 506 PLAT_POBLANO_XXX, 507 PLAT_JALAPENO_P2, 508 PLAT_HABANERO, |
509 PLAT_VULCAN, 510 PLAT_CRUSADER, 511 PLAT_LANCER, 512 PLAT_HARRIER, 513 PLAT_TERMINATOR, 514 PLAT_SKYHAWK, 515 PLAT_CORSAIR, 516 PLAT_JAGUAR, 517 PLAT_SATAHAWK, 518 PLAT_SATANATOR, 519 PLAT_PROWLER, 520 PLAT_BLACKBIRD, 521 PLAT_SABREEXPRESS, 522 PLAT_INTRUDER, |
|
457 PLAT__last 458} AAC_Platform; 459 460typedef enum { 461 OEM_FLAVOR_ADAPTEC = 1, 462 OEM_FLAVOR_DELL, 463 OEM_FLAVOR_HP, 464 OEM_FLAVOR_IBM, 465 OEM_FLAVOR_CPQ, | 523 PLAT__last 524} AAC_Platform; 525 526typedef enum { 527 OEM_FLAVOR_ADAPTEC = 1, 528 OEM_FLAVOR_DELL, 529 OEM_FLAVOR_HP, 530 OEM_FLAVOR_IBM, 531 OEM_FLAVOR_CPQ, |
466 OEM_FLAVOR_BRAND_X, 467 OEM_FLAVOR_BRAND_Y, | 532 OEM_FLAVOR_FSC, 533 OEM_FLAVOR_DWS, |
468 OEM_FLAVOR_BRAND_Z, | 534 OEM_FLAVOR_BRAND_Z, |
535 OEM_FLAVOR_LEGEND, 536 OEM_FLAVOR_HITACHI, 537 OEM_FLAVOR_ESG, 538 OEM_FLAVOR_ICP, 539 OEM_FLAVOR_SCM, |
|
469 OEM_FLAVOR__last 470} AAC_OemFlavor; 471 472/* 473 * XXX the aac-2622 with no battery present reports PLATFORM_BAT_OPT_PRESENT 474 */ 475typedef enum 476{ --- 17 unchanged lines hidden (view full) --- 494#define AAC_SUPPORTED_RAID50 0x20 495#define AAC_SUPPORTED_4GB_WINDOW 0x40 496#define AAC_SUPPORTED_SCSI_UPGRADEABLE 0x80 497#define AAC_SUPPORTED_SOFT_ERR_REPORT 0x100 498#define AAC_SUPPORTED_NOT_RECONDITION 0x200 499#define AAC_SUPPORTED_SGMAP_HOST64 0x400 500#define AAC_SUPPORTED_ALARM 0x800 501#define AAC_SUPPORTED_NONDASD 0x1000 | 540 OEM_FLAVOR__last 541} AAC_OemFlavor; 542 543/* 544 * XXX the aac-2622 with no battery present reports PLATFORM_BAT_OPT_PRESENT 545 */ 546typedef enum 547{ --- 17 unchanged lines hidden (view full) --- 565#define AAC_SUPPORTED_RAID50 0x20 566#define AAC_SUPPORTED_4GB_WINDOW 0x40 567#define AAC_SUPPORTED_SCSI_UPGRADEABLE 0x80 568#define AAC_SUPPORTED_SOFT_ERR_REPORT 0x100 569#define AAC_SUPPORTED_NOT_RECONDITION 0x200 570#define AAC_SUPPORTED_SGMAP_HOST64 0x400 571#define AAC_SUPPORTED_ALARM 0x800 572#define AAC_SUPPORTED_NONDASD 0x1000 |
573#define AAC_SUPPORTED_SCSI_MANAGED 0x2000 574#define AAC_SUPPORTED_RAID_SCSI_MODE 0x4000 575#define AAC_SUPPORTED_SUPPLEMENT_ADAPTER_INFO 0x10000 576#define AAC_SUPPORTED_NEW_COMM 0x20000 577#define AAC_SUPPORTED_64BIT_ARRAYSIZE 0x40000 578#define AAC_SUPPORTED_HEAT_SENSOR 0x80000 |
|
502 503/* 504 * Structure used to respond to a RequestAdapterInfo fib. 505 */ 506struct aac_adapter_info { 507 AAC_Platform PlatformBase; /* adapter type */ 508 AAC_CpuType CpuArchitecture; /* adapter CPU type */ 509 AAC_CpuSubType CpuVariant; /* adapter CPU subtype */ --- 19 unchanged lines hidden (view full) --- 529 530/* 531 * Monitor/Kernel interface. 532 */ 533 534/* 535 * Synchronous commands to the monitor/kernel. 536 */ | 579 580/* 581 * Structure used to respond to a RequestAdapterInfo fib. 582 */ 583struct aac_adapter_info { 584 AAC_Platform PlatformBase; /* adapter type */ 585 AAC_CpuType CpuArchitecture; /* adapter CPU type */ 586 AAC_CpuSubType CpuVariant; /* adapter CPU subtype */ --- 19 unchanged lines hidden (view full) --- 606 607/* 608 * Monitor/Kernel interface. 609 */ 610 611/* 612 * Synchronous commands to the monitor/kernel. 613 */ |
614#define AAC_MONKER_BREAKPOINT 0x04 |
|
537#define AAC_MONKER_INITSTRUCT 0x05 538#define AAC_MONKER_SYNCFIB 0x0c 539#define AAC_MONKER_GETKERNVER 0x11 | 615#define AAC_MONKER_INITSTRUCT 0x05 616#define AAC_MONKER_SYNCFIB 0x0c 617#define AAC_MONKER_GETKERNVER 0x11 |
618#define AAC_MONKER_POSTRESULTS 0x14 |
|
540#define AAC_MONKER_GETINFO 0x19 | 619#define AAC_MONKER_GETINFO 0x19 |
620#define AAC_MONKER_GETDRVPROP 0x23 621#define AAC_MONKER_RCVTEMP 0x25 622#define AAC_MONKER_GETCOMMPREF 0x26 623#define AAC_MONKER_REINIT 0xee |
|
541 542/* 543 * Adapter Status Register 544 * 545 * Phase Staus mailbox is 32bits: 546 * <31:16> = Phase Status 547 * <15:0> = Phase 548 * --- 104 unchanged lines hidden (view full) --- 653typedef enum { 654 AifJobScsiMin = 1, /* Minimum value for Scsi operation */ 655 AifJobScsiZero, /* SCSI device clear operation */ 656 AifJobScsiVerify, /* SCSI device Verify operation NO 657 * REPAIR */ 658 AifJobScsiExercise, /* SCSI device Exercise operation */ 659 AifJobScsiVerifyRepair, /* SCSI device Verify operation WITH 660 * repair */ | 624 625/* 626 * Adapter Status Register 627 * 628 * Phase Staus mailbox is 32bits: 629 * <31:16> = Phase Status 630 * <15:0> = Phase 631 * --- 104 unchanged lines hidden (view full) --- 736typedef enum { 737 AifJobScsiMin = 1, /* Minimum value for Scsi operation */ 738 AifJobScsiZero, /* SCSI device clear operation */ 739 AifJobScsiVerify, /* SCSI device Verify operation NO 740 * REPAIR */ 741 AifJobScsiExercise, /* SCSI device Exercise operation */ 742 AifJobScsiVerifyRepair, /* SCSI device Verify operation WITH 743 * repair */ |
744 AifJobScsiWritePattern, /* write pattern */ |
|
661 AifJobScsiMax = 99, /* Max Scsi value */ 662 AifJobCtrMin, /* Min Ctr op value */ 663 AifJobCtrZero, /* Container clear operation */ 664 AifJobCtrCopy, /* Container copy operation */ 665 AifJobCtrCreateMirror, /* Container Create Mirror operation */ 666 AifJobCtrMergeMirror, /* Container Merge Mirror operation */ 667 AifJobCtrScrubMirror, /* Container Scrub Mirror operation */ 668 AifJobCtrRebuildRaid5, /* Container Rebuild Raid5 operation */ 669 AifJobCtrScrubRaid5, /* Container Scrub Raid5 operation */ 670 AifJobCtrMorph, /* Container morph operation */ 671 AifJobCtrPartCopy, /* Container Partition copy operation */ 672 AifJobCtrRebuildMirror, /* Container Rebuild Mirror operation */ 673 AifJobCtrCrazyCache, /* crazy cache */ | 745 AifJobScsiMax = 99, /* Max Scsi value */ 746 AifJobCtrMin, /* Min Ctr op value */ 747 AifJobCtrZero, /* Container clear operation */ 748 AifJobCtrCopy, /* Container copy operation */ 749 AifJobCtrCreateMirror, /* Container Create Mirror operation */ 750 AifJobCtrMergeMirror, /* Container Merge Mirror operation */ 751 AifJobCtrScrubMirror, /* Container Scrub Mirror operation */ 752 AifJobCtrRebuildRaid5, /* Container Rebuild Raid5 operation */ 753 AifJobCtrScrubRaid5, /* Container Scrub Raid5 operation */ 754 AifJobCtrMorph, /* Container morph operation */ 755 AifJobCtrPartCopy, /* Container Partition copy operation */ 756 AifJobCtrRebuildMirror, /* Container Rebuild Mirror operation */ 757 AifJobCtrCrazyCache, /* crazy cache */ |
758 AifJobCtrCopyback, /* Container Copyback operation */ 759 AifJobCtrCompactRaid5D, /* Container Compaction operation */ 760 AifJobCtrExpandRaid5D, /* Container Expansion operation */ 761 AifJobCtrRebuildRaid6, /* Container Rebuild Raid6 operation */ 762 AifJobCtrScrubRaid6, /* Container Scrub Raid6 operation */ 763 AifJobCtrSSBackup, /* Container snapshot backup task */ |
|
674 AifJobCtrMax = 199, /* Max Ctr type operation */ 675 AifJobFsMin, /* Min Fs type operation */ 676 AifJobFsCreate, /* File System Create operation */ 677 AifJobFsVerify, /* File System Verify operation */ 678 AifJobFsExtend, /* File System Extend operation */ 679 AifJobFsMax = 299, /* Max Fs type operation */ 680 AifJobApiFormatNTFS, /* Format a drive to NTFS */ 681 AifJobApiFormatFAT, /* Format a drive to FAT */ --- 290 unchanged lines hidden (view full) --- 972 VM_Unused, /* used to be diskset management */ 973 VM_CtBlockVerify, 974 VM_CtPerf, /* performance test */ 975 VM_CtBlockRead64, 976 VM_CtBlockWrite64, 977 VM_CtBlockVerify64, 978 VM_CtHostRead64, 979 VM_CtHostWrite64, | 764 AifJobCtrMax = 199, /* Max Ctr type operation */ 765 AifJobFsMin, /* Min Fs type operation */ 766 AifJobFsCreate, /* File System Create operation */ 767 AifJobFsVerify, /* File System Verify operation */ 768 AifJobFsExtend, /* File System Extend operation */ 769 AifJobFsMax = 299, /* Max Fs type operation */ 770 AifJobApiFormatNTFS, /* Format a drive to NTFS */ 771 AifJobApiFormatFAT, /* Format a drive to FAT */ --- 290 unchanged lines hidden (view full) --- 1062 VM_Unused, /* used to be diskset management */ 1063 VM_CtBlockVerify, 1064 VM_CtPerf, /* performance test */ 1065 VM_CtBlockRead64, 1066 VM_CtBlockWrite64, 1067 VM_CtBlockVerify64, 1068 VM_CtHostRead64, 1069 VM_CtHostWrite64, |
1070 VM_DrvErrTblLog, /* drive error table/log type of command */ 1071 VM_NameServe64 |
|
980} AAC_VMCommand; 981 982/* 983 * "mountable object" 984 */ 985struct aac_mntobj { 986 u_int32_t ObjectId; 987 char FileSystemName[16]; --- 78 unchanged lines hidden (view full) --- 1066 u_int32_t Status; 1067 u_int32_t ObjType; 1068 u_int32_t MethId; 1069 u_int32_t ObjId; 1070 u_int32_t IoctlCmd; 1071 struct aac_getbusinf BusInf; 1072} __packed; 1073 | 1072} AAC_VMCommand; 1073 1074/* 1075 * "mountable object" 1076 */ 1077struct aac_mntobj { 1078 u_int32_t ObjectId; 1079 char FileSystemName[16]; --- 78 unchanged lines hidden (view full) --- 1158 u_int32_t Status; 1159 u_int32_t ObjType; 1160 u_int32_t MethId; 1161 u_int32_t ObjId; 1162 u_int32_t IoctlCmd; 1163 struct aac_getbusinf BusInf; 1164} __packed; 1165 |
1166#if 0 |
|
1074#define AAC_BTL_TO_HANDLE(b, t, l) \ 1075 (((b & 0x3f) << 7) | ((l & 0x7) << 4) | (t & 0xf)) | 1167#define AAC_BTL_TO_HANDLE(b, t, l) \ 1168 (((b & 0x3f) << 7) | ((l & 0x7) << 4) | (t & 0xf)) |
1169#else 1170#define AAC_BTL_TO_HANDLE(b, t, l) \ 1171 ((((u_int32_t)b & 0x0f) << 24) | \ 1172 (((u_int32_t)l & 0xff) << 16) | \ 1173 ((u_int32_t)t & 0xffff)) 1174#endif |
|
1076#define GetDeviceProbeInfo 0x5 1077 1078struct aac_vmi_devinfo_resp { 1079 u_int32_t Status; 1080 u_int32_t ObjType; 1081 u_int32_t MethId; 1082 u_int32_t ObjId; 1083 u_int32_t IoctlCmd; --- 101 unchanged lines hidden (view full) --- 1185} __packed; 1186 1187struct aac_blockwrite_response { 1188 u_int32_t Status; 1189 u_int32_t ByteCount; 1190 u_int32_t Committed; 1191} __packed; 1192 | 1175#define GetDeviceProbeInfo 0x5 1176 1177struct aac_vmi_devinfo_resp { 1178 u_int32_t Status; 1179 u_int32_t ObjType; 1180 u_int32_t MethId; 1181 u_int32_t ObjId; 1182 u_int32_t IoctlCmd; --- 101 unchanged lines hidden (view full) --- 1284} __packed; 1285 1286struct aac_blockwrite_response { 1287 u_int32_t Status; 1288 u_int32_t ByteCount; 1289 u_int32_t Committed; 1290} __packed; 1291 |
1292struct aac_raw_io { 1293 u_int64_t BlockNumber; 1294 u_int32_t ByteCount; 1295 u_int16_t ContainerId; 1296 u_int16_t Flags; /* 0: W, 1: R */ 1297 u_int16_t BpTotal; /* reserved for FW use */ 1298 u_int16_t BpComplete; /* reserved for FW use */ 1299 struct aac_sg_tableraw SgMapRaw; /* variable size */ 1300} __packed; 1301 |
|
1193/* 1194 * Container shutdown command. 1195 */ 1196struct aac_close_command { 1197 u_int32_t Command; 1198 u_int32_t ContainerId; 1199}; 1200 --- 128 unchanged lines hidden (view full) --- 1329 */ 1330 1331#define AAC_RX_IDBR 0x20 /* inbound doorbell register */ 1332#define AAC_RX_IISR 0x24 /* inbound interrupt status register */ 1333#define AAC_RX_IIMR 0x28 /* inbound interrupt mask register */ 1334#define AAC_RX_ODBR 0x2c /* outbound doorbell register */ 1335#define AAC_RX_OISR 0x30 /* outbound interrupt status register */ 1336#define AAC_RX_OIMR 0x34 /* outbound interrupt mask register */ | 1302/* 1303 * Container shutdown command. 1304 */ 1305struct aac_close_command { 1306 u_int32_t Command; 1307 u_int32_t ContainerId; 1308}; 1309 --- 128 unchanged lines hidden (view full) --- 1438 */ 1439 1440#define AAC_RX_IDBR 0x20 /* inbound doorbell register */ 1441#define AAC_RX_IISR 0x24 /* inbound interrupt status register */ 1442#define AAC_RX_IIMR 0x28 /* inbound interrupt mask register */ 1443#define AAC_RX_ODBR 0x2c /* outbound doorbell register */ 1444#define AAC_RX_OISR 0x30 /* outbound interrupt status register */ 1445#define AAC_RX_OIMR 0x34 /* outbound interrupt mask register */ |
1446#define AAC_RX_IQUE 0x40 /* inbound queue */ 1447#define AAC_RX_OQUE 0x44 /* outbound queue */ |
|
1337 1338#define AAC_RX_MAILBOX 0x50 /* mailbox (20 bytes) */ 1339#define AAC_RX_FWSTATUS 0x6c 1340 1341/* 1342 * Register definitions for the Adaptec 'Rocket' RAID-On-Chip adapters. 1343 * Unsurprisingly, it's quite similar to the i960! 1344 */ 1345 1346#define AAC_RKT_IDBR 0x20 /* inbound doorbell register */ 1347#define AAC_RKT_IISR 0x24 /* inbound interrupt status register */ 1348#define AAC_RKT_IIMR 0x28 /* inbound interrupt mask register */ 1349#define AAC_RKT_ODBR 0x2c /* outbound doorbell register */ 1350#define AAC_RKT_OISR 0x30 /* outbound interrupt status register */ 1351#define AAC_RKT_OIMR 0x34 /* outbound interrupt mask register */ | 1448 1449#define AAC_RX_MAILBOX 0x50 /* mailbox (20 bytes) */ 1450#define AAC_RX_FWSTATUS 0x6c 1451 1452/* 1453 * Register definitions for the Adaptec 'Rocket' RAID-On-Chip adapters. 1454 * Unsurprisingly, it's quite similar to the i960! 1455 */ 1456 1457#define AAC_RKT_IDBR 0x20 /* inbound doorbell register */ 1458#define AAC_RKT_IISR 0x24 /* inbound interrupt status register */ 1459#define AAC_RKT_IIMR 0x28 /* inbound interrupt mask register */ 1460#define AAC_RKT_ODBR 0x2c /* outbound doorbell register */ 1461#define AAC_RKT_OISR 0x30 /* outbound interrupt status register */ 1462#define AAC_RKT_OIMR 0x34 /* outbound interrupt mask register */ |
1463#define AAC_RKT_IQUE 0x40 /* inbound queue */ 1464#define AAC_RKT_OQUE 0x44 /* outbound queue */ |
|
1352 1353#define AAC_RKT_MAILBOX 0x1000 /* mailbox */ 1354#define AAC_RKT_FWSTATUS 0x101c /* Firmware Status (mailbox 7) */ 1355 1356/* 1357 * Common bit definitions for the doorbell registers. 1358 */ 1359 --- 18 unchanged lines hidden (view full) --- 1378 1379/* 1380 * Mask containing the interrupt bits we care about. We don't anticipate (or 1381 * want) interrupts not in this mask. 1382 */ 1383#define AAC_DB_INTERRUPTS (AAC_DB_COMMAND_READY | \ 1384 AAC_DB_RESPONSE_READY | \ 1385 AAC_DB_PRINTF) | 1465 1466#define AAC_RKT_MAILBOX 0x1000 /* mailbox */ 1467#define AAC_RKT_FWSTATUS 0x101c /* Firmware Status (mailbox 7) */ 1468 1469/* 1470 * Common bit definitions for the doorbell registers. 1471 */ 1472 --- 18 unchanged lines hidden (view full) --- 1491 1492/* 1493 * Mask containing the interrupt bits we care about. We don't anticipate (or 1494 * want) interrupts not in this mask. 1495 */ 1496#define AAC_DB_INTERRUPTS (AAC_DB_COMMAND_READY | \ 1497 AAC_DB_RESPONSE_READY | \ 1498 AAC_DB_PRINTF) |
1499#define AAC_DB_INT_NEW_COMM 0x08 1500 |
|