xref: /netbsd-src/sys/dev/raidframe/rf_archs.h (revision 3b01aba77a7a698587faaae455bbfe740923c1f5)
1 /*	$NetBSD: rf_archs.h,v 1.11 2001/01/26 04:43:16 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 #define RF_INCLUDE_EVENODD       1
52 
53 #define RF_INCLUDE_RAID5_RS      1
54 #define RF_INCLUDE_PARITYLOGGING 1
55 
56 #define RF_INCLUDE_CHAINDECLUSTER 1
57 #define RF_INCLUDE_INTERDECLUSTER 1
58 
59 #define RF_INCLUDE_PARITY_DECLUSTERING 1
60 #define RF_INCLUDE_PARITY_DECLUSTERING_DS 1
61 
62 #define RF_INCLUDE_RAID0   1
63 #define RF_INCLUDE_RAID1   1
64 #define RF_INCLUDE_RAID4   1
65 #define RF_INCLUDE_RAID5   1
66 #define RF_INCLUDE_RAID6   0
67 #define RF_INCLUDE_DECL_PQ 0
68 
69 #define RF_MEMORY_REDZONES 0
70 #define RF_RECON_STATS     1
71 
72 #include "rf_options.h"
73 
74 #endif				/* !_RF__RF_ARCHS_H_ */
75