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 2005 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 #pragma ident "%Z%%M% %I% %E% SMI" 31 32 #ifdef __cplusplus 33 extern "C" { 34 #endif 35 36 /* 37 * This is the PCI-IDE chip blacklist 38 */ 39 typedef struct { 40 uint_t b_vendorid; 41 uint_t b_vmask; 42 uint_t b_deviceid; 43 uint_t b_dmask; 44 uint_t b_flags; 45 } pcibl_t; 46 47 extern pcibl_t ata_pciide_blacklist[]; 48 49 /* 50 * This is the drive blacklist 51 */ 52 typedef struct { 53 char *b_model; 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 #ifdef __cplusplus 87 } 88 #endif 89 90 #endif /* _ATA_BLACKLIST_H */ 91