1 /*
2 * CDDL HEADER START
3 *
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
7 *
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
12 *
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 *
19 * CDDL HEADER END
20 */
21
22 /*
23 * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
24 * Use is subject to license terms.
25 */
26
27 #ifndef _ATA_BLACKLIST_H
28 #define _ATA_BLACKLIST_H
29
30
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
34
35 /*
36 * This is the PCI-IDE chip blacklist
37 */
38 typedef struct {
39 uint_t b_vendorid;
40 uint_t b_vmask;
41 uint_t b_deviceid;
42 uint_t b_dmask;
43 uint_t b_flags;
44 } pcibl_t;
45
46 extern pcibl_t ata_pciide_blacklist[];
47
48 /*
49 * This is the drive blacklist
50 */
51 typedef struct {
52 char *b_model;
53 char *b_fw;
54 uint_t b_flags;
55 } atabl_t;
56
57 extern atabl_t ata_drive_blacklist[];
58
59 /*
60 * use the same flags for both lists
61 */
62 #define ATA_BL_BOGUS 0x1 /* only use in compatibility mode */
63 #define ATA_BL_NODMA 0x2 /* don't use DMA on this one */
64 #define ATA_BL_1SECTOR 0x4 /* limit PIO transfers to 1 sector */
65 #define ATA_BL_BMSTATREG_PIO_BROKEN 0x8
66
67 /*
68 * do not use bus master ide status register
69 * if not doing dma, or if it does not work
70 * properly when doing DMA (for example, on
71 * some lx50's!)
72 */
73
74
75 #define ATA_BL_NORVRT 0x10
76 /*
77 * Don't enable revert to power-on
78 * defaults before rebooting
79 */
80
81 #define ATA_BL_NO_SIMPLEX 0x20
82 /*
83 * Ignore simplex bit on this device
84 * if set
85 */
86 #define ATA_BL_ATAPI_NODMA 0x40
87 /*
88 * Disable DMA for ATAPI devices because
89 * controller has trouble supporting it
90 */
91
92 #define ATA_BL_LBA48 0x80
93 /*
94 * the drive's ATA version is less than 6,
95 * but it support the LBA48 mode.
96 */
97
98 #ifdef __cplusplus
99 }
100 #endif
101
102 #endif /* _ATA_BLACKLIST_H */
Cache object: 7d1dc3431ef0284a79a02495fa8b12cc
|