Deleted Added
full compact
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