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