1 1.26 christos /* $NetBSD: rf_archs.h,v 1.26 2005/12/11 12:23:37 christos Exp $ */ 2 1.1 oster /* 3 1.1 oster * Copyright (c) 1995 Carnegie-Mellon University. 4 1.1 oster * All rights reserved. 5 1.1 oster * 6 1.1 oster * Author: Mark Holland 7 1.1 oster * 8 1.1 oster * Permission to use, copy, modify and distribute this software and 9 1.1 oster * its documentation is hereby granted, provided that both the copyright 10 1.1 oster * notice and this permission notice appear in all copies of the 11 1.1 oster * software, derivative works or modified versions, and any portions 12 1.1 oster * thereof, and that both notices appear in supporting documentation. 13 1.1 oster * 14 1.1 oster * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" 15 1.1 oster * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND 16 1.1 oster * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. 17 1.1 oster * 18 1.1 oster * Carnegie Mellon requests users of this software to return to 19 1.1 oster * 20 1.1 oster * Software Distribution Coordinator or Software.Distribution (at) CS.CMU.EDU 21 1.1 oster * School of Computer Science 22 1.1 oster * Carnegie Mellon University 23 1.1 oster * Pittsburgh PA 15213-3890 24 1.1 oster * 25 1.1 oster * any improvements or extensions that they make and grant Carnegie the 26 1.1 oster * rights to redistribute these changes. 27 1.1 oster */ 28 1.1 oster 29 1.1 oster /* rf_archs.h -- defines for which architectures you want to 30 1.1 oster * include is some particular build of raidframe. Unfortunately, 31 1.1 oster * it's difficult to exclude declustering, P+Q, and distributed 32 1.1 oster * sparing because the code is intermixed with RAID5 code. This 33 1.1 oster * should be fixed. 34 1.1 oster * 35 1.1 oster * this is really intended only for use in the kernel, where I 36 1.1 oster * am worried about the size of the object module. At user level and 37 1.1 oster * in the simulator, I don't really care that much, so all the 38 1.1 oster * architectures can be compiled together. Note that by itself, turning 39 1.1 oster * off these defines does not affect the size of the executable; you 40 1.1 oster * have to edit the makefile for that. 41 1.1 oster * 42 1.1 oster * comment out any line below to eliminate that architecture. 43 1.1 oster * the list below includes all the modules that can be compiled 44 1.1 oster * out. 45 1.1 oster * 46 1.1 oster */ 47 1.1 oster 48 1.1 oster #ifndef _RF__RF_ARCHS_H_ 49 1.1 oster #define _RF__RF_ARCHS_H_ 50 1.1 oster 51 1.25 perry #ifndef RF_INCLUDE_EVENODD 52 1.12 oster #define RF_INCLUDE_EVENODD 0 53 1.12 oster #endif 54 1.12 oster 55 1.25 perry #ifndef RF_INCLUDE_RAID5_RS 56 1.12 oster #define RF_INCLUDE_RAID5_RS 0 57 1.12 oster #endif 58 1.12 oster 59 1.12 oster #ifndef RF_INCLUDE_PARITYLOGGING 60 1.12 oster #define RF_INCLUDE_PARITYLOGGING 0 61 1.12 oster #endif 62 1.12 oster 63 1.12 oster #ifndef RF_INCLUDE_CHAINDECLUSTER 64 1.12 oster #define RF_INCLUDE_CHAINDECLUSTER 0 65 1.12 oster #endif 66 1.12 oster 67 1.12 oster #ifndef RF_INCLUDE_INTERDECLUSTER 68 1.12 oster #define RF_INCLUDE_INTERDECLUSTER 0 69 1.12 oster #endif 70 1.12 oster 71 1.12 oster #ifndef RF_INCLUDE_PARITY_DECLUSTERING 72 1.12 oster #define RF_INCLUDE_PARITY_DECLUSTERING 0 73 1.12 oster #endif 74 1.12 oster 75 1.12 oster #ifndef RF_INCLUDE_PARITY_DECLUSTERING_DS 76 1.12 oster #define RF_INCLUDE_PARITY_DECLUSTERING_DS 0 77 1.12 oster #endif 78 1.1 oster 79 1.12 oster #ifndef RF_INCLUDE_RAID0 80 1.12 oster #define RF_INCLUDE_RAID0 1 81 1.12 oster #endif 82 1.1 oster 83 1.12 oster #ifndef RF_INCLUDE_RAID1 84 1.12 oster #define RF_INCLUDE_RAID1 1 85 1.12 oster #endif 86 1.10 oster 87 1.12 oster #ifndef RF_INCLUDE_RAID4 88 1.12 oster #define RF_INCLUDE_RAID4 1 89 1.12 oster #endif 90 1.1 oster 91 1.12 oster #ifndef RF_INCLUDE_RAID5 92 1.1 oster #define RF_INCLUDE_RAID5 1 93 1.12 oster #endif 94 1.12 oster 95 1.12 oster #ifndef RF_INCLUDE_RAID6 96 1.1 oster #define RF_INCLUDE_RAID6 0 97 1.12 oster #endif 98 1.12 oster 99 1.12 oster #ifndef RF_INCLUDE_DECL_PQ 100 1.1 oster #define RF_INCLUDE_DECL_PQ 0 101 1.12 oster #endif 102 1.1 oster 103 1.12 oster #ifndef RF_MEMORY_REDZONES 104 1.1 oster #define RF_MEMORY_REDZONES 0 105 1.12 oster #endif 106 1.12 oster 107 1.12 oster #ifndef RF_RECON_STATS 108 1.1 oster #define RF_RECON_STATS 1 109 1.13 oster #endif 110 1.13 oster 111 1.23 oster #ifndef RF_DEBUG_DAG 112 1.23 oster #define RF_DEBUG_DAG 0 113 1.23 oster #endif 114 1.23 oster 115 1.24 oster #ifndef RF_DEBUG_ENGINE 116 1.24 oster #define RF_DEBUG_ENGINE 0 117 1.24 oster #endif 118 1.24 oster 119 1.13 oster #ifndef RF_DEBUG_VALIDATE_DAG 120 1.13 oster #define RF_DEBUG_VALIDATE_DAG 0 121 1.14 oster #endif 122 1.14 oster 123 1.14 oster #ifndef RF_DEBUG_STRIPELOCK 124 1.14 oster #define RF_DEBUG_STRIPELOCK 0 125 1.15 oster #endif 126 1.15 oster 127 1.16 oster #ifndef RF_DEBUG_RECON 128 1.16 oster #define RF_DEBUG_RECON 0 129 1.15 oster #endif 130 1.15 oster 131 1.15 oster #ifndef RF_DEBUG_VERIFYPARITY 132 1.15 oster #define RF_DEBUG_VERIFYPARITY 0 133 1.17 oster #endif 134 1.17 oster 135 1.17 oster #ifndef RF_DEBUG_QUEUE 136 1.17 oster #define RF_DEBUG_QUEUE 0 137 1.18 oster #endif 138 1.18 oster 139 1.18 oster #ifndef RF_DEBUG_QUIESCE 140 1.18 oster #define RF_DEBUG_QUIESCE 0 141 1.19 oster #endif 142 1.19 oster 143 1.19 oster #ifndef RF_DEBUG_PSS 144 1.19 oster #define RF_DEBUG_PSS 0 145 1.20 oster #endif 146 1.20 oster 147 1.20 oster #ifndef RF_DEBUG_MAP 148 1.20 oster #define RF_DEBUG_MAP 0 149 1.12 oster #endif 150 1.1 oster 151 1.21 oster #ifndef RF_ACC_TRACE 152 1.22 oster #define RF_ACC_TRACE 1 153 1.21 oster #endif 154 1.21 oster 155 1.1 oster #include "rf_options.h" 156 1.1 oster 157 1.4 oster #endif /* !_RF__RF_ARCHS_H_ */ 158