xref: /netbsd/sys/dev/raidframe/rf_archs.h (revision bf9ec67e)
1 /*	$NetBSD: rf_archs.h,v 1.12 2002/01/19 02:50:54 oster Exp $	*/
2 /*
3  * Copyright (c) 1995 Carnegie-Mellon University.
4  * All rights reserved.
5  *
6  * Author: Mark Holland
7  *
8  * Permission to use, copy, modify and distribute this software and
9  * its documentation is hereby granted, provided that both the copyright
10  * notice and this permission notice appear in all copies of the
11  * software, derivative works or modified versions, and any portions
12  * thereof, and that both notices appear in supporting documentation.
13  *
14  * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
15  * CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND
16  * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
17  *
18  * Carnegie Mellon requests users of this software to return to
19  *
20  *  Software Distribution Coordinator  or  Software.Distribution@CS.CMU.EDU
21  *  School of Computer Science
22  *  Carnegie Mellon University
23  *  Pittsburgh PA 15213-3890
24  *
25  * any improvements or extensions that they make and grant Carnegie the
26  * rights to redistribute these changes.
27  */
28 
29 /* rf_archs.h -- defines for which architectures you want to
30  * include is some particular build of raidframe.  Unfortunately,
31  * it's difficult to exclude declustering, P+Q, and distributed
32  * sparing because the code is intermixed with RAID5 code.  This
33  * should be fixed.
34  *
35  * this is really intended only for use in the kernel, where I
36  * am worried about the size of the object module.  At user level and
37  * in the simulator, I don't really care that much, so all the
38  * architectures can be compiled together.  Note that by itself, turning
39  * off these defines does not affect the size of the executable; you
40  * have to edit the makefile for that.
41  *
42  * comment out any line below to eliminate that architecture.
43  * the list below includes all the modules that can be compiled
44  * out.
45  *
46  */
47 
48 #ifndef _RF__RF_ARCHS_H_
49 #define _RF__RF_ARCHS_H_
50 
51 #ifndef RF_INCLUDE_EVENODD
52 #define RF_INCLUDE_EVENODD       0
53 #endif
54 
55 #ifndef RF_INCLUDE_RAID5_RS
56 #define RF_INCLUDE_RAID5_RS      0
57 #endif
58 
59 #ifndef RF_INCLUDE_PARITYLOGGING
60 #define RF_INCLUDE_PARITYLOGGING 0
61 #endif
62 
63 #ifndef RF_INCLUDE_CHAINDECLUSTER
64 #define RF_INCLUDE_CHAINDECLUSTER 0
65 #endif
66 
67 #ifndef RF_INCLUDE_INTERDECLUSTER
68 #define RF_INCLUDE_INTERDECLUSTER 0
69 #endif
70 
71 #ifndef RF_INCLUDE_PARITY_DECLUSTERING
72 #define RF_INCLUDE_PARITY_DECLUSTERING 0
73 #endif
74 
75 #ifndef RF_INCLUDE_PARITY_DECLUSTERING_DS
76 #define RF_INCLUDE_PARITY_DECLUSTERING_DS 0
77 #endif
78 
79 #ifndef RF_INCLUDE_RAID0
80 #define RF_INCLUDE_RAID0   1
81 #endif
82 
83 #ifndef RF_INCLUDE_RAID1
84 #define RF_INCLUDE_RAID1   1
85 #endif
86 
87 #ifndef RF_INCLUDE_RAID4
88 #define RF_INCLUDE_RAID4   1
89 #endif
90 
91 #ifndef RF_INCLUDE_RAID5
92 #define RF_INCLUDE_RAID5   1
93 #endif
94 
95 #ifndef RF_INCLUDE_RAID6
96 #define RF_INCLUDE_RAID6   0
97 #endif
98 
99 #ifndef RF_INCLUDE_DECL_PQ
100 #define RF_INCLUDE_DECL_PQ 0
101 #endif
102 
103 #ifndef RF_MEMORY_REDZONES
104 #define RF_MEMORY_REDZONES 0
105 #endif
106 
107 #ifndef RF_RECON_STATS
108 #define RF_RECON_STATS     1
109 #endif
110 
111 #include "rf_options.h"
112 
113 #endif				/* !_RF__RF_ARCHS_H_ */
114