diff -uNr linux.2.4.14.pristine/Documentation/kbuild/cml2-reference.sgml linux/Documentation/kbuild/cml2-reference.sgml --- linux.2.4.14.pristine/Documentation/kbuild/cml2-reference.sgml Wed Dec 31 19:00:00 1969 +++ linux/Documentation/kbuild/cml2-reference.sgml Wed Nov 14 17:01:24 2001 @@ -0,0 +1,1300 @@ +CML1"> +CML2"> +]> + + + +
+ + CML2 Language Reference + + Eric + Steven + Raymond + + + Thyrsus Enterprises +
+ esr@thyrsus.com +
+
+
+ $Date: 2001/03/31 06:06:11 $ + This is version 0.9.1 + + 2000 + Eric S. Raymond + + + Copyright + Permission is granted to copy, distribute and/or modify + this document under the terms of the Open Publication License, + version 2.0. + + + +This is a reference manual for CML2, the Configuration Menu Language +designed to support Linux kernel configuration. For higher-level +discussion of the language and the concepts behind it, see the +paper The CML2 Language, available at the CML2 project website. +Configuration hackers should read that paper first to get a feel +for the language. + +
+ +Roadmap to This Document +First, there's a section on invoking the &CML2; tools. Then +there's a complete language reference. Then there's a description of +the configuration file output formats. Finally, a document change +history. + +For tips on good menu design, see The CML2 +Language. + + +Running the &CML2; tools + +The &CML2; toolkit consists of two Python programs: +cmlcompile and cmlconfigure. +The compiler, cmlcompile, generates a pickled +representation of a rulebase from one or more files of &CML2; rules. +The interpreter, cmlconfigure, reads in a rulebase +and uses it to inform a configuration dialogue with the user. + +The cmlconfigure program queries its environment to discover +what I/O facilities are available. It will use X if it's on an +X display and Tkinter can be found. Otherwise, it will look for the +curses library and support a full-screen character interface. If it +can't find curses and a TERM in the environment, it +will fall back to a line-oriented mode. + +The end result is a pair of configuration files, the +defconfig and the macrofile. +These are in formats inherited from &CML1; (see for complete specification). The +defconfig consists of a set of variable +definitions in shell syntax; it can be re-read by a future instance of +cmlconfigure to set defaults. The macrofile is a list of C-style +#define macros intended to be included in kernel +C code. + +The compiler, cmlcompiler, requires one or +more &CML2; rules files as arguments. It has two options: + + + + filename + + Set the file to which the compiled rulebase is + written. By default, if no -o option is given, the rulebase goes + to rules.out. + + + + + + Enable debugging output to + stdout. + + + +The interpreter, cmlconfigure, takes at most +one filename argument: the rulebase to be interpreted. If no +argument is specified, it reads from rules.out. +The interpreter recognizes the following options: + + + + + + Batch mode. Read in a compiled rulebase, apply any other command-line + options, and immediately write out the rulebase. Most useful with -D + to change a single option or a small handful of options from the + command line. + + + + + outfile + + Set the location to which cmlconfigure should + write its file of C macros. There is no default; if there is no + , option no macro file is written. + + + + + configfile + + Read in a configuration. The file is expected to be in the same + defconfig format written by cmlconfigure. + Values (including n) are set as though selected + interactively by the user. + + If the file does not exist, complain but continue. This behavior + allows the configurator to look for defaults files which may not exist. + + + + + + configfile + + Read in a configuration. The file is expected to be in the same + defconfig format written by cmlconfigure. Values (including + n) are frozen and will be displayed but not + modifiable during the configure run. + + + + + + + List. Run in batch mode to generate a menu map (that is, a + tree diagram of all the menus and question symbols in the system.) + + + + + outfile + + Set the location to which cmlconfigure should write its defconfig + file of shell variable settings. + This file will be loadable by cmlconfigure. There is no default; + if there is no option no defconfig file is + written. + + + + + + + Force tty (line-oriented) mode. + + + + + + + Force curses (screen-oriented) mode. + + + + + + + Force X (GUI using Tk) mode. + + + + + + + Increment the debug flag. + + + + + + + Preset a symbol. sets + FOO=y at startup. + -DFOO=xxx may be used to + specify a value. The trit values y, m, n are understood. The + value of a preset symbol is frozen; that is, it will never be + queried. + + + + + + + Don't hide elided symbols. When this option is on, suppressions + are ignored. Only symbols that have derived a frozen value from + -D or constraints are skipped. This may be useful if you know + that you want to set configuration symbols deep in the hierarchy + and have their requirements propagate upwards, as opposed to the + normal sequence in which you refine your way down from the top of + the tree with symbols becoming visible only when they are unmasked + by previous questions. + + + + + + + Print the configurator version and exit. + + + + + + + Make undefined symbols in files loaded (e.g. by i or I commands) a + non-fatal rather than fatal error. Useful for reading in old config + files in which some symbols are obsolete. + + + + +The environment variable CML2OPTIONS may specify command-line switches +(but not arguments). Switches taken from CML2OPTIONS are processed +before switches specified on the actual command line. + +The environment variable BROWSER may specify a colon-separated list +of browser commands, to be used in making URLs in the help widgets +live. Each command should have the string "%s" in it where the URL +can be substituted. The &CML2; front end will try the commands in +succession until one succeeds. The default sequence is mozilla, then +any netscape already running, then a new netscape instance, then +lynx, then w3m. + + + +&CML2; Language Elements + +Syntax + +Lexically, a CML program consists of tokens: barewords, +whitespace, strings and punctuation (there is one exception associated +with the icon declaration). A bareword is a token +composed of alphanumeric characters and _ +(underscore). Whitespace is any mix of spaces, tabs, and linefeeds. A +string is delimited by either single or double quotes and may contain +whitespace. Everything else is punctuation. Some pairs of +punctuation characters stick together; ==, +!=, <=, >=. All +other punctuation is treated as single-character tokens. + +Here are lexical rules, regular expressions describing valid tokens: + + ::= [A-Za-z][A-Za-z0-9_]* + ::= '[^']*'|"[^&dquot;]*"; + ::= [0-9]+ + ::= 0x[A-Fa-f0-9]+ + ::= [ymn] +]]> + +base64-data is any number of lines in RFC2045 base64 +format, terminated by a newline or comment. + +Also, note that there is a lexical-level inclusion facility. +The token source is interpreted as a request to treat +the immediately following token as a filename (string quotes are first +stripped if it is a string). Upon encountering this directive, the +compiler opens the file (which may be a relative or absolute +pathname), and reads input from that file until EOF. On +that EOF, the current input source is immediately +popped back to the including file. Relative pathnames are interpreted +relative to the directory of the including file. + +Comments are supported, and run from a # to end-of-line. + +Here is a BNF of the grammar. Following it, each language element +will be described in detail. + + ::= | ;; Integer literal + +;; A CML system consists of a sequence of declarations. +;; + ::= * + +;; A declaration may be of one of the following types: +;; + ::= + | + | + | + | + + | + | + | + | + | + | + | + + | + | + | + + | + | + | + | + +;; A source statement declares a file to be inserted in place of +;; the source statement in the ruleset. +;; + ::= 'source' + +;; A symbols definition creates configuration symbols, +;; and associates prompt strings with them. +;; + ::= 'symbols' { }* + +;; A menus definition creates menu symbols, +;; and associates banner strings with them. +;; + ::= 'menus' { }* + +;; An explanatins declaration creates explanation symbols +;; to be used by requirements +;; + ::= 'explanations' { }* + +;; A helpfile declaration declares a file to be scanned for help text +;; + ::= 'helpfile' + +;; A private declaration declares that the associated symbols should +;; not be exported in the end-result configuration +;; + ::= 'private' * + +;; A visibility rule associates a visibility predicate with symbols. +;; Optionally, it may declare that the suppressed symbols are constrained +;; in value by the predicate symbols. +;; + ::= 'unless' 'suppress' ['dependent'] *; + +;; A menu definition links a sequence or subtree of symbols with a +;; menu identifier. Subtrees generate implied dependency statements. +;; + ::= 'menu' * + ::= + | '{' * '}' + + ::= ;; Empty suffix declares boolean type + | '?' ;; declares trit type + | '!' ;; declares vital trit type + | '%' ;; declares decimal type + | '@' ;; declares hexadecimal type + | '$' ;; declares string type + +;; A radio-menu definition links a choice of symbols with a menu identifier. +;; + ::= 'choices' * 'default' + +;; A derivation binds a symbol to a formula, so the value of that +;; symbol is always the current value of the formula. +;; + ::= 'derive' 'from' + +;; A default definition sets the value a symbol will have unless it is +;; explicitly set by the user's answer to a question. It may have a +;; range or enum specification attached. +;; + ::= 'default' 'from' [] + + ::= 'range' { | { '-' }}+ + | 'enum' { '=' }+ + +;; A requirement definition constrains the value of one or more symbols +;; by requiring that the given expression be true in any valid configuration. +;; + ::= {'require'|'prohibit'} + ['explanation '] + +;; We have to declare a start menu, for the beginning of execution +;; + ::= 'start' + +;; A prefix definition sets a string to be prepended to all symbols +;; when they are named in a configuration file. +;; + ::= 'prefix' + +;; A banner definition sets a string to used in the configurator +;; greeting line. +;; + ::= 'banner' + +;; A condition statement ties a CML2 control flag to a symbol +;; + ::= 'condition' 'on' + +;; A warndepend flags symbols that make dependents dangerous +;; + ::= 'warndepend' * + +;; An icon definition associates data for a graphic icon with the +;; rulebase. +;; + := 'icon' + +;; A debug definition enables debugging output. +;; + ::= 'debug' + +;; An expression is a formula +;; + ::= '+' + | '-' + | '*' + | + + ::= 'or' + | 'and' + | 'implies' + | + + ::= '==' + | '!=' + | '<=' + | '>=' + | + | 'not' + + ::= '|' ;; maximum or sum or union value + | '&' ;; minimum or multiple or intersection value + | '$' ;; similarity value + | + + ::= + | + | + | + | + | '(' ')' +]]> + +Operators have the precedence implied by the above productions. From +least to most binding, precedence classes are: + + =, <=, >, < + 7: &, |, $ +]]> + + +Data types and classes + +&CML2; supports the following data types: + + + + Booleans. These may have the values `y' or `n' + + + + Tristates or trits. These may have the values `y', 'm', or `n' + `Vital' trits have a visibility property described in . + + + + Decimal integers. 32-bit signed integers with decimal I/O formatting. + + + + Hexadecimal integers. 32-bit signed integers with hexadecimal I/O formatting. + + + + Strings. Strings are literal data in the ASCII character set encoding. + + + +Support for trits may be disabled at runtime. See for discussion of the condition/on +declaration. + +There are four classes of symbols; constant symbols, query symbols, +derivation symbols, and frozen symbols. + +A constant is one of the boolean/tristate literals +y or m or +n, or an integer literal, or a string +literal. + +A query symbol is an ordinary, mutable symbol with a prompt string. +Each query must occur exactly once in the menu tree. Query symbols +may be set by the user. + +A derivation is a symbol bound to an expression. Derivation symbols +are immutable, but may vary as the symbols in their formula change +value. Derived symbols have no associated prompt string and may not +appear in the menu tree. + +A frozen symbol is a query symbol which has been immutably bound +to a particular value. Once frozen, the value of a symbol may not be +changed. + + +Meaning of the language elements + + +Source statements + +A source statement declares a file to be +inserted in place of the source statement in the file, and treated as +if the entire contents of that file were present in the current file +at the point of their source statement. + +Any implementation of &CML2; must allow +source statements to be nested to a depth of at +least 15 levels. The reference implementation has no hard +limit. + + +Symbol declarations + +The body of a symbols section consists of +pairs of tokens; a configuration symbol and a prompt string. + +Rationale: Having these name-to-prompt associations be separate from +the dependency rules will help make the text parts of the system +easier to localize for different languages. Declaring all query symbols +up front means we can do better and faster sanity checks. Some +symbols (derivations) are not pre-declared. + + +Menu declarations + +The body of a menus section consists of pairs +of tokens; a menu name and a banner string. The effect of each +declaration is to declare an empty menu (to be filled in later by a +menu definition) and associate a banner string with it. + +Any implementation of &CML2; must allow menus to be nested to a depth of +at least 15 levels. The reference implementation has no hard limit. + +Rationale: Having these menu-to-banner associations be separate from +the dependency rules will help make the text parts of the system +easier to localize for different languages. Declaring all menu names +up front means we can do better and faster sanity checks. + + +Explanation declarations + +The body of an explanation section consists +of pairs of tokens; an explanation symbol and a banner string. +Explanation symbols are used to associate explanatory text with +requirements. + +Rationale: This declaration tells the compiler that it's OK for +the explanation symbol not to occur in a menu. + + +Helpfile declarations + +A helpfile declaration tells the compiler to +mine a given file for help texts. The compiler's assumption is that +the file is in the format of a &CML1; help file: entries are begun by +two lines, the first containing a prompt string and the second +beginning with the symbol prefix (See for +discussion). + +The format of helpfiles may be changed in future releases. + + +Private declarations + +A private declaration sets the +private bit on each symbol of a list of +symbol names. Symbols on which this bit is set are not written to the +final configuration file. + +Rationale: Sometimes you may want to make multiple queries, the +results of which are not used directly in the configuration file but +become independent variables in the derivation of a symbol that is +used. In this kind of case, it is good practice to make the query +symbols private. + + +Visibility rules + +A visibility declaration associates a visibility predicate with a set of +configuration symbols. The fact that several symbols may occur on the +right side of such a rule is just a notational convenience; the rule + + + unless GUARD suppress SYMBOL1 SYMBOL2 SYMBOL3 + + +is exactly equivalent to + + + unless GUARD suppress SYMBOL1 + unless GUARD suppress SYMBOL2 + unless GUARD suppress SYMBOL3 + + +Putting a menu on the right side of a visibility rule suppresses that +menu and all its children. + +Dependence + +Optionally, a rule may declare that the suppressed symbols are +constrained in value by the predicate symbols. That is, if there is a +rule + + + unless GUARD suppress dependent SYMBOL + + +then the value of SYMBOL is constrained by +the value of GUARD in the following way: + + +guard trit bool +----- ------ ------- + y y,m,n y,n + m m,n y,n + n n n + + +The reason for this odd, type-dependent logic table is that we +want to be able to have boolean option symbols that configure options +for modular ancestors. This is why the guard symbol value +m permits a dependent boolean symbol (but not a +dependent modular symbol) to be y. + +If the guard part is an expression, SYMBOL is +made dependent on each symbol that occurs in the guard. Such guards +may not contain alternations or implies. Thus, if +FOO and BAR and +BAZ are trit symbols, + + + unless FOO!=n and BAR==m suppress dependent BAZ + + +is equivalent to the following rules: + + + unless FOO!=n and BAR==m suppress BAZ + require BAZ <= FOO and BAZ <= BAR + + +Putting a menu on the right side of a visibility rule with `dependent' +puts the constraint on all the configuration symbols in that menu. +Any submenus will inherit the constraint and pass it downward to +their submenus. + +Dependency works both ways. If a dependent symbol is set +y or m, the value of the +ancestor symbol may be forced; see + for discussion. + +Rationale: The syntax is unless...suppress +rather than if...query because the normal state of a +symbol or menu is visible. The dependent +construction replaces the dep_tristate and +dep_bool constructs in &CML1;. + + + +Menu definitions + +A menu definition associates a sequence of configuration symbols and +(sub)menu identifiers with a menu identifier (and its banner string). +It is an error for any symbol or menu name to be referenced in more +than one menu. + +Symbol references in menus may have suffixes which change the default +boolean type of the symbol. The suffixes are as follows: + + + ? trit type + ! vital trit type + % decimal type + @ hexadecimal type + $ string type + + +A choices definition associates a choice of boolean +configuration symbols with a menu identifier (and its banner +string). It declares a default symbol to be set to +y at the time the menu is instantiated. + +In a complete &CML2; system, these definitions link all menus together +into a single big tree, which is normally traversed depth-first +(except that visibility predicates may suppress parts of it). + +If the list of symbols has subtrees in it (indicated by curly braces) +then the symbol immediately before the opening curly brace is declared +a visibility and dependency guard for all symbols within the braces. +That is, the menu declaration + + + menu foo + SYM1 SYM2 {SYM3 SYM4} SYM5 + + +not only associates SYM[12345] with foo, it also registers rules +equivalent to + + + unless SYM2 suppress dependent SYM3 SYM4 + + +Such subtree declarations may be nested to any depth. + +It is perfectly legal for a menu-ID to have no child nodes. In &CML2;, +this is how you embed text in menus, by making it the banner of +a menu symbol with no children. + + +Derivations + +A derivation binds a symbol to a formula, so the value of that +symbol is always the current value of the formula. Symbols +may be evaluated either when a menu containing them is instantiated +or at the time the final configuration file is written. + +The compiler performs type inference to deduce the type of a +derived symbol. In particular, derived symbols for which the +top-level expression is an arithmetic operator are deduced to be +decimal. Derived symbols for which the top level of the expression is +a boolean operator are deduced to be bool. Derived +symbols for which the top level of the expression is a +trit operator are deduced to be trit. + +Derived symbols are never set directly by the user and have no +associated prompt string. + + +Defaults + +A default definition sets the value a symbol will have until it is +explicitly set by the user's answer to a question. The right-hand +side of a default is not limited to being a constant value; it +may be any valid expression. + +Defaults may be evaluated either when a menu containing them is +instantiated or at the time the final configuration file is written. + +If a symbol is not explicitly defaulted, it gets the zero value +of its type; n for bools and trits, +0 for decimal and hexadecimal symbols, and the +empty string for strings. + +The optional range or enumeration part may be used to constrain +legal values for decimal or hexadecimal-valued symbol. A default +declaration may have either a range or an enumeration part, but not +both. + + A range specification consists of any number of either single +values or paired upper and lower bounds separated by a dash, +interpreted as inclusive ranges. The symbol has a legal value if it +either matches a specified single value or is contained in one of the +intervals. + +An enumeration consists of a series of pairs separated by '='. +Each pair associates a symbol (which must have been previously +declared in an explanation statement) with an integer value. The +symbol must match one of the values. The front end may use the prompt +value of the symbol in each pair to stand in for the value (e.g. when +generating a pull-down menu of alternatives.) + + +Requirements + +Requirements as sanity checks + +A requirement definition constrains the value of one or more +symbols by requiring that the given expression be true in any valid +configuration. All constraints involving a given configuration symbol +are checked each time that symbol is modified. Every constraint is +checked just before the configuration file is written. + +If the optional explanation clause is present, the string +associated with the specified symbol is taken to be an explanation that +the front end can use if when the constraint is violated. Otherwise, +the explanation will be a display of the constraint expression. + +It is up to individual &CML2; front ends to decide how to handle +constraint violations. Here are some possible policies: + + + + Complain and die. Not recommended, but perhaps appropriate for + a batch-mode front end. + + + Conservative recovery: Disallow the modification that + would violate the constraint. (Thus, earlier answers have priority + over later ones.) Note that front ends using this policy should + back out side-effects of symbol changes as well as the change to + the primary symbol. + + + + Flag-and-continue: visibly flag all symbols involved in a + constraint violation (and unflag them whenever a constraint violation + is fixed). Require the user to resolve all constraint violations + before the configuration file is saved. + + + + Backtracking: Present all the menus involved in the + constraint. Accept modifications of any of them, but do not + allow the modifications to be committed until all constraints are + satisfied. + + + +The reference implementation uses conservative backtracking, +with side-effects being backed out as well. + +A prohibit definition requires that the +attached predicate not be true. This is +syntactic sugar, added to accommodate the fact that human beings have +trouble reasoning about the distribution of negation in complex +predicates. + + +Using requirements to force variables + +Requirements have a second role. Certain kinds of requirements +can be used to deduce values for variables the user has not yet set; +the &CML2; interpreter does this automatically. + +Every time a symbol is changed, the change is tried on each +declared constraint. The constraint is algebraically simplified by +substituting in constant, derived and frozen symbols. If the +simplified constraint forces an expression of the form A == +B to be true, and either A is a query symbol +and B is a constant or the reverse, then the +assignment needed to make A == B true is +forced. + +Thus, given the rules + + +derive SPARC from SPARC32 or SPARC64 +require SPARC implies ISA==n and PCMCIA==n and VT==y and VT_CONSOLE==y + and BUSMOUSE==y and SUN_MOUSE==y and SERIAL==y and SERIAL_CONSOLE==y + and SUN_KEYBOARD==y + + +when either SPARC32 or SPARC64 +changes to y, the nine assignments implied by the +right side of the second rule will be performed automatically. If +this kind of requirement is triggered by a guard consisting entirely +of frozen symbols, all the assigned symbols become frozen. + +If A is a boolean or +trit symbol and B simplifies to a +boolean or trit constant (or vice-versa), +assignments may be similarly forced by other relationals (notably +A != B, A < B, A > +B, A <= B, and A >= +B). If forcing the relational to be true implies only one +possible value for the symbol involved, then that assignment is +forced. + +Note that whether a relational forces a unique value may depend on +whether trits are enabled or not. + + + +Start declaration + +The start definition specifies the name of the +root menu of the hierarchy. One such declaration is required per +&CML2; ruleset. + + +Prefix declaration + +A prefix declaration sets a string to be +prepended to each symbol name whenever it is written out to a result +configuration file. This prefix is also ignored when present as a +prefix of symbol names, whether in a rule file or when read in from a +defconfig file. + +Rationale: This was added so the &CML2; rule system for the +Linux kernel would not have to include the common +CONFIG_ prefix, which adds bulk and makes reading +the rules file visually confusing. The alternative of wiring that +prefix into the code would compromise &CML2;'s potential usefulness +for other applications. Prefix-stripping in rule files was added as +a backward-compatibility hack to permit names such as CONFIG_3C515 +that have leading numerics and would be treated as numbers if +given without prefix. + + +Banner declaration + +A banner definition sets the menu id banner +string to used in the configurator greeting line. The string attached +to the specified menu id should identify the system being +configured. + +Rationale: As for the prefix string. + + +Condition statement + +The condition statement ties a &CML2; feature +flag to a query symbol; that is, the value of the feature flag is the +value of the symbol. The initial value of the flag when a rulebase is +read in is simply the associated symbol's default. If there is no +symbol associated with the the flag, the flag's value is +n. + +At present only one flag, named trits, is +supported. When this flag is n, trit-valued +symbols are treated as booleans and may only assume the values +y and n. + +When this flag is m, modules are enabled +and will be manually queried. + +When this flag is y, questions about +modular symbols that are not `vital' are suppressed (the tied-trit +flag symbol itself is automatically vital). Individual trit-valued +symbols become visible again if they become set to a non-default +value. At configuration-save time, modular symbols are set to +m if they are visible, n if +they are not. + +This flag may affect the front end's presentation of +alternatives for modular symbols. It also affects forcing of ancestor +symbols. When the trits flag is m or +y, setting a boolean symbol only forces its trit +ancestors to the value m; when trits is off, they +are forced to y. See for discussion. + +Rationale: Setting this flag to y says, in +effect, "Don't bother me with questions about modular +drivers. Configure in all the stubs that go with the other choices, e.g. +processor and bus types." It is intended for novice use. The `vital' +property is intended to be attached to devices which can be compiled +modular but which need to be hard-linked in (e.g. so Linux can be +booted...). + + +Warndepend declaration + +The warndepend declaration takes a list of +symbol names. All dependents of each symbol have their prompts +suffixed with the name of the symbol in parentheses to indicate that +they are dependent on it. + +Rationale: Added to support the EXPERIMENTAL +symbol in the Linux kernel configuration. This declaration is better +than tracking experimental status by hand because it guarantees that +subsidiary symbols dependent on an experimental feature will always be +flagged for the user. + + +Icon declaration + +An icon declaration associates graphic data +(encoded in RFC2045 base64) with the rulebase. Front ends may use +this data as an identification icon. + +The reference front-end implementation uses the image to iconify +the configurator when it is minimized while running in X mode. + +The reference front-end accepts the image in GIF format. In the +future (when underlying library support permits) PNG support will be +added and GIF removed. + + +Debug + +This declaration enables debugging output from the compiler (it +has no effect on front-end behavior). It takes an integer value and +uses it to set the current debug level. It may change or be removed +in future releases. + + +Expressions + +All arithmetic is integer. The compiler permits some kinds of +type promotion, described below. + +For purposes of the relational operators, trit values are +strictly ordered with y > +m > n. + +Boolean logical expressions may be used as parts of integer-valued +formulas (e,g in derivations and constraints). The value of true is 1, +and of false is 0. + +It is a compile-time error to apply the logical operators +or/and/implies to trit or numeric values. Also, +expressions occurring in guards (in unless/suppress, +or require/prohibit declarations) must yield a value +of boolean type. The compiler does type propagation in expressions to +check these constraints. + +The purpose of these restriction is to enable compile-time +detection of situations where confusion of trit or +numeric with boolean values might induce subtle errors. For the same +reason, if the symbol FOO is trit-valued it is a +compile-time error to say just FOO in an expression, as +opposed to FOO!=n or some other more explicit +relational. + +Thus, because the symbol SCSI is trit-valued: + + + unless SCSI suppress A2091_SCSI + +is illegal and will raise an error. Write an unambiguous test +instead: + + + unless SCSI>=m suppress A2091_SCSI + + +The obvious booleans operations (and, or) are supported; they are +commutative and associative. An 'implies' operation is also supported: + + + FOO implies BAR <=> not (FOO and (not BAR)) + + +The implies operation is neither commutative nor associative. + +The usual relational tests (==, +!=, >=, <=, +>, <) are supported. +Relationals bind more tightly than boolean operators, so +FOO!=n and BAR==m behaves as expected. Additionally, +and binds more tightly than or, so +that FOO or BAR and BAZ is FOO or (BAR and +BAZ). + +The following additional ternary-logic operations are available. +It is an error to apply these to operands with types other than +bool or trit. + +Max or union; notation |. Here is a truth table: + + + y m n + +------ +y | y y y +m | y m m +n | y m n + + +Min or intersection; notation &. Here is a +truth table: + + + y m n + +------ +y | y m n +m | m m n +n | n n n + + + Similarity; notation $. Here is a truth + table: + + + y m n + +------ +y | y n n +m | n m n +n | n n n + + +The operator precedence implied by the BNF above is implemented +in the parser. + + + +Symbol Assignment and Side +Effects + +Setting a symbol's value may have side-effects on other symbols +in two ways. + +First, it may trigger a change in other variables through +explicit requirements. See for +discussion. + +Second, each symbol has two implicit lists associated with it: +of symbols it depends on (ancestors) and symbols that depend on it +(dependents). Whenever a symbol is changed, any side-effects are +propagated through those lists. Changing the value of the symbol +upward (n to m, or +m to y) may change the value of +ancestors; changing it downward (y to +m or m to n) may +affect the value of dependents. + +See also for discussion of the two +syntactically different ways dependencies can be created, and section +V for discussion of the deduction algorithm. + +&CML2; interpreters are required to implement all-or-nothing side +effects; that is, after an assignment, either the assignment and +all its side-effects have been performed, or (in the event the +new values would violate a requirement) none of them are. + +The reference implementation achieves this by implementing two-phase +commit; the assignment and its side-effects can be made tentatively, +constraints checked, and then either committed or rolled back. + +Side-effect bindings remain linked to the symbol whose value change +triggered them, and are backed out whenever that symbol is changed +again. Backing out a side-effect may expose previous side-effects +on a symbol. To see how this works, consider the following sequence of +actions given the constraints (FOO==y implies BAR==y) and +(BAZ==y implies BAR==n): + + + 1. User sets FOO=y. As a side-effect, this sets BAR=y + 2. User sets BAZ=y. As a side-effect, this sets BAR=n + 3. User sets BAZ=n. This does not have a direct side-effect on BAR. + However, since the value BAZ has changed, its side-effect BAR=n + is backed out. The value of BAR is again y. + + +The reference implementation journals all side-effects and always +looks for the most recent binding of a symbol when evaluating it. + + + + + +&CML2; configuration file formats + + +Defconfig format + +A defconfig file consists of a series +of lines in the format of Unix shell variable assignments. Each line +is led with a symbol name (prefixed if there is a +prefix declaration in the rulebase), continues with a +=, and finishes with a value. The value may be +y, n, or +m for boolean or +tristate symbols. It may be a quoted string for +string literals, or an (unquoted) numeric literal for +decimal or hexadecimal symbols. + +When a symbol FOO has not been set, &CML2; may +emit a comment of the form +#CONFIG_FOO is not set. +In &CML1;, these comments were also emitted +for symbols with the value n. + +In the future, &CML2; will write explicit +FOO=n defconfig lines when a boolean or tristate +symbol has been set by the user (or as a side-effect of user +actions). This change would break compatibility wuith the current +&CML1;-based configuration tools. + +Rationale: The change in treatment of symbols with value n is +important in order to allow defconfigs to contain partial +configurations that suppress features, e.g. such as might be generated +by an autoprobe utility checking for the presence of buses or +controller types. + +In the reference implementation, symbols are written in depth-first +traversal order. Derived symbols are written after the query symbols; +each derived symbol is written out if any of the symbols in its +formula has been set. + + +Macrofile format + +A macrofile is a series of C #define macro lines corresponding to +configuration symbols. The macro corresponding to a symbol has the +same name as that symbol, prefixed if there is a "prefix" declaration +in the rulebase. + +If a boolean or tristate symbol has the value +y, &CML2; generates a line defining the +corresponding macro to have the value 1. + +If a boolean or tristate symbol has the value +n, &CML2; generates a line undefining the +corresponding macro. + +If a boolean or tristate symbol has the value +m, &CML2; generates two lines. The first +undefines the corresponding macro. The second defines a macro with +the same name and the suffix "_MODULE" to be +1. + +Each decimal and hexadecimal symbol generates a line defining the +corresponding macro to the value of the numeric literal. + +Each string symbol generates a line defining the corresponding macro +to the value of the string, as a C string literal in double quotes. + +These format conventions are identical to &CML1;'s. + + + + +Change history + + + 0.1 -- 24 May 2000 + Original &CML2; specification. + + 0.2.0 -- 31 May 2000 + Removed whenever/sets from the language. Everything is now done + with deduction. + + 0.2.1 -- 4 June 2000 + Added warndepend. + + 0.3.0 -- 9 June 2000 + Deduction algorithm rewritten and documented in section + V. + + 0.4.0 -- 20 June 2000: + Value stacking is implemented. + + 0.5.0 -- 26 June 2000: + Fuller support for ranges. Spec format converted to + DocBook. + + 0.6.0 -- 30 June 2000: + Eliminated a lexical class. + + 0.7.0 -- 6 July 2000: + The "options" directive was removed. + + 0.7.0 -- 12 Aug 2000: + Added the `explanation' declaration. + + 0.9.2 -- 15 Jan 2001: + Reference manual split out of the paper. + + 0.9.8 -- 29 Mar 2001: + Module-suppression feature added. + + + +
+ diff -uNr linux.2.4.14.pristine/Documentation/kbuild/cml2-transition.txt linux/Documentation/kbuild/cml2-transition.txt --- linux.2.4.14.pristine/Documentation/kbuild/cml2-transition.txt Wed Dec 31 19:00:00 1969 +++ linux/Documentation/kbuild/cml2-transition.txt Wed Nov 14 17:01:24 2001 @@ -0,0 +1,129 @@ + Transition guide for CML2 + + Prerequisites + +You will need Python 2.0 or later to run CML2. Note: many Linux +distributions still ship with the older Python 1.5.2 version, so you +may find you need to upgrade. I made the jump to requiring 2.0 +because doing so reduces the amount of Python code that will have to +ship with kernels and other CML2-configured systems by almost 500 +lines and should improve the Tcl/Tk support. + +For detailed Python-2.0 installation instructions, see +. You will need the Python-2.0 and +Tkinter-2.0-8.0 packages, but not expat. Note: if you install from +sources, you will have to configure in curses in the Modules/Setup +file in order for `make menuconfig` to work. + + Using CML2 to configure Linux + +The CML2 installation supplies oldconfig, menuconfig, and xconfig make +productions that are drop-in replacements for their CML1 equivalents. +The `make config' production is different in that it tries to pick +the best user interface for your environment rather than doing line mode; +to force line mode, do `make ttyconfig'. The `make advent' production +runs a somewhat different line-oriented configurator. + +You should be aware that the CML2 configurators no longer generate +.config and autoconf.h files directly. Instead, they read and +generate and edit a config.out file that is like a .config except for +having explicit sets to 'n'; that is, where the .config format said "# +FOO is not set" a CML2 config may say "FOO=n". This change supports +passing around partial configurations with drivers and features +explicitly configured out. It is intended to help support tools like +Giacomo Catenazzi's kernel-autoconfiguration program. + +Ordinarily this change should be transparent. The `make *config' +functions automatically follow the configurator run with a run of a +script called configtrans that reads the new-format config.out you +just generated and writes translations in the old format to the right +places (.config and include/linux/autoconf.h). If the `make +oldconfig' and `make editconfig' productions don't find a config.out +but do find an existing .config, they'll copy it. + +When you want to save a configuration, save the config.out file +rather than the .config file. You can always regenerate .config +and include/linux/autoconf.h from it by running `make oldconfig' + + Known Problems + +The xconfig front end does a lot of dynamic window resizing. This +seems to tickle bugs in some window managers (notably in older +versions of Enlightenment, but I have seen very occasional misbehavior +under Sawmill as well). If you find the configurator window is placed +oddly after a menu action, or lacks borders, or can't be moved or +resized, you should probably either upgrade your window manager +version or change window managers. + + How To Report Bugs + +The best way to report an apparent bug varies depending on what kind +it is. Many CML2 `bugs' are actually user-interface feature requests; +many other `bugs' are actually problems with the CML2 rules files (among +other things, the rulesfile controls the shape of the menu hierarchy). + +If you think you've found a rules-file problem, the best kind of bug +report is a rulesfile patch accompanied by an explanation. + +Things that look like deduction bugs are almost always problems in the +rules files. When a symbol BAR seems to have been set incorrectly, try +typing `C BAR' to see all the constraints that symbol participates in. +If you can pin down which rule is at fault, please report that. + +If you think you've found a genuine bug in how CML2 does its +deduction, please send me three things: + +1. Your config.out or .config before. (If you're starting with a + blank slate, no .config or config.out, it's OK to just tell me that.) + +2. A session transcript made with ttyconfig illustrating the problem. + +3. Your config.out or .config afterwards. + +A session transcript made with ttyconfig is usually much more helpful +than your natural-language description of the problem, because when +you try to describe the problem you won't necessarily know what +inmportant information you're leaving out. + +This kind of debugging is what ttyconfig is really for, and it has some +special commants to support making these bug-trace transcripts. Use +'e' to display the state of a symbol. Also, the `y' command has a +suffix form; you can say "y FOO" and symbol FOO will be set to y +without affecting the symbol you're currently being prompted for. +This also works for 'm' and 'n'. + + Kernel tree changes + +All files with the basename Config.in or config.in are obsolete. +The following files can be also deleted once CML2 is in place: + +scripts/Configure +scripts/Makefile +scripts/Menuconfig +scripts/README.Menuconfig +scripts/header.tk +scripts/tail.tk +scripts/tkcond.c +scripts/tkgen.c +scripts/tkparse.c +scripts/tkparse.h +scripts/checkhelp.pl +scripts/checkconfig.pl +scripts/checkincludes.pl +scripts/lxdialog/BIG.FAT.WARNING +scripts/lxdialog/Makefile +scripts/lxdialog/checklist.c +scripts/lxdialog/colors.h +scripts/lxdialog/dialog.h +scripts/lxdialog/inputbox.c +scripts/lxdialog/lxdialog* +scripts/lxdialog/lxdialog.c +scripts/lxdialog/menubox.c +scripts/lxdialog/msgbox.c +scripts/lxdialog/textbox.c +scripts/lxdialog/util.c +scripts/lxdialog/yesno.c +Documentation/kbuild/config-language.txt +Documentation/Configure.help + +The Configure.help information is now part of the CML2 rules files. diff -uNr linux.2.4.14.pristine/arch/alpha/rules.cml linux/arch/alpha/rules.cml --- linux.2.4.14.pristine/arch/alpha/rules.cml Wed Dec 31 19:00:00 1969 +++ linux/arch/alpha/rules.cml Wed Nov 14 17:01:24 2001 @@ -0,0 +1,88 @@ +# Alpha processors + +# This is the top-level menu for architecture-dependent alpha stuff + +private ALPHA_AVANTI_REAL + +choices alphatype # Alpha system type + ALPHA_GENERIC ALPHA_ALCOR ALPHA_XL ALPHA_BOOK1 ALPHA_AVANTI_REAL + ALPHA_CABRIOLET ALPHA_DP264 ALPHA_EB164 ALPHA_EB64P + ALPHA_EB66 ALPHA_EB66P ALPHA_EIGER ALPHA_JENSEN ALPHA_LX164 + ALPHA_MIATA ALPHA_MIKASA ALPHA_NAUTILUS ALPHA_NONAME ALPHA_NORITAKE + ALPHA_PC164 ALPHA_P2K ALPHA_RAWHIDE ALPHA_RUFFIAN ALPHA_RX164 + ALPHA_SX164 ALPHA_SABLE ALPHA_SHARK ALPHA_TAKARA ALPHA_TITAN + ALPHA_WILDFIRE + default ALPHA_GENERIC + +derive ALPHA_AVANTI from ALPHA_XL or ALPHA_AVANTI_REAL +require ALPHA implies PCI == (ALPHA_JENSEN or ALPHA_WILDFIRE or ALPHA_TITAN) + +derive ALPHA_EV4 from ALPHA_NONAME or ALPHA_BOOK1 or ALPHA_EB66 or ALPHA_EB66P + or ALPHA_P2K or ALPHA_CABRIOLET or ALPHA_AVANTI + or ALPHA_EB64P or ALPHA_XL or + ((ALPHA_MIKASA or ALPHA_NORITAKE) and (ALPHA_PRIMO==n)) + or (ALPHA_SABLE and ALPHA_GAMMA==n) + or ALPHA_JENSEN +derive ALPHA_LCA from ALPHA_NONAME or ALPHA_BOOK1 or ALPHA_EB66 + or ALPHA_EB66P or ALPHA_P2K +derive ALPHA_APECS from ALPHA_CABRIOLET or ALPHA_AVANTI or ALPHA_EB64P + or ALPHA_XL or + ((ALPHA_MIKASA or ALPHA_NORITAKE) and (ALPHA_PRIMO==n)) +derive ALPHA_EV5 from ALPHA_EB164 or ALPHA_PC164 or ALPHA_ALCOR or ALPHA_XL + or ALPHA_TAKARA or ALPHA_PRIMO or ALPHA_GAMMA + or ALPHA_MIATA or ALPHA_LX164 or ALPHA_SX164 + or ALPHA_RUFFIAN or ALPHA_RAWHIDE or ALPHA_RX164 +derive ALPHA_CIA from ALPHA_EB164 or ALPHA_PC164 or ALPHA_ALCOR or ALPHA_XL + or ALPHA_TAKARA or ALPHA_PRIMO or ALPHA_MIATA + or ALPHA_LX164 or ALPHA_SX164 or ALPHA_RUFFIAN + +derive ALPHA_T2 from ALPHA_SABLE +derive ALPHA_PYXIS from ALPHA_MIATA or ALPHA_LX164 + or ALPHA_SX164 or ALPHA_RUFFIAN +derive ALPHA_EV6 from ALPHA_DP264 or ALPHA_EIGER + or ALPHA_NAUTILUS or ALPHA_TITAN or ALPHA_WILDFIRE +derive ALPHA_TSUNAMI from ALPHA_DP264 or ALPHA_EIGER +derive ALPHA_MCPCIA from ALPHA_RAWHIDE +derive ALPHA_POLARIS from ALPHA_RX164 +derive ALPHA_IRONGATE from ALPHA_NAUTILUS + +derive ALPHA_EISA from ALPHA_ALCOR or ALPHA_MIKASA or ALPHA_SABLE + or ALPHA_NORITAKE or ALPHA_RAWHIDE + +derive PCI_CONSOLE from (ALPHA or IA64) and FB +derive ALPHA_BROKEN_IRQ_MASK from ALPHA_GENERIC or ALPHA_PC164 + +require ALPHA_CABRIOLET implies ALPHA_EB64P + +unless ALPHA_DP264 or ALPHA_EIGER suppress ALPHA_EV67 +require ALPHA_WILDFIRE or ALPHA_TITAN or ALPHA_NAUTILUS # or ALPHA_SHARK + implies ALPHA_EV67 + +unless ALPHA_SRM==y suppress SRM_ENV +require SRM_ENV==y implies PROC_FS!=n + +menu alpha # Alpha configuration options + alphatype + ALPHA_EV67 + ALPHA_PRIMO + ALPHA_GAMMA + ALPHA_SRM + BINFMT_EM86? + ALPHA_LEGACY_START_ADDRESS + SRM_ENV? + +unless ALPHA_MIKASA or ALPHA_NORITAKE suppress ALPHA_PRIMO +unless ALPHA_SABLE suppress ALPHA_GAMMA + +derive FORCE_ALPHA_SRM from ALPHA_JENSEN or ALPHA_MIKASA or ALPHA_SABLE + or ALPHA_NORITAKE or ALPHA_DP264 or ALPHA_RAWHIDE + or ALPHA_EIGER or ALPHA_WILDFIRE or ALPHA_TITAN +default ALPHA_SRM from FORCE_ALPHA_SRM +private FORCE_ALPHA_SRM +unless FORCE_ALPHA_SRM==n suppress ALPHA_SRM + +# LARGE_VMALLOC is racy, if you *really* need it then fix it first +derive CONFIG_ALPHA_LARGE_VMALLOC from n + +# End + diff -uNr linux.2.4.14.pristine/arch/arm/rules.cml linux/arch/arm/rules.cml --- linux.2.4.14.pristine/arch/arm/rules.cml Wed Dec 31 19:00:00 1969 +++ linux/arch/arm/rules.cml Wed Nov 14 17:01:24 2001 @@ -0,0 +1,175 @@ +# ARM machines + +# This is the top-level menu for architecture-dependent ARM stuff + +choices armtype # ARM processor type + ARCH_ANAKIN + ARCH_A5K # This has help attached + ARCH_ARC ARCH_CLPS7500 + ARCH_CLPS711X + ARCH_CO285 ARCH_EBSA110 + ARCH_CAMELOT ARCH_FOOTBRIDGE ARCH_INTEGRATOR ARCH_L7200 + ARCH_RPC ARCH_SA1100 ARCH_SHARK + default ARCH_RPC + +derive ARCH_ARCA5K from ARCH_ARC or ARCH_A5K +derive PCI_INTEGRATOR from ARCH_INTEGRATOR and PCI + +menu clps711xtypes # CLPS711X/EP721X Implementations + ARCH_CDB89712 ARCH_CLEP7312 ARCH_EDB7211 ARCH_P720T + +# XXX Maybe these should indicate register compatibility +# instead of being mutually exclusive. +derive ARCH_EP7211 from ARCH_EDB7211 +derive ARCH_EP7212 from ARCH_P720T + +private SA1100_XP860_REAL + +menu sa1100type # SA1100 implementations + SA1100_ASSABET {ASSABET_NEPONSET} + SA1100_ADSBITSY + SA1100_BRUTUS + SA1100_CERF {cerf_ram cerf_flash SA1100_CERF_CPLD} + SA1100_H3600 + # SA1100_EMPEG + SA1100_EXTENEX1 {SA1100_EXTENEX1_16MB} + SA1100_FLEXANET SA1100_FREEBIRD SA1100_GRAPHICSCLIENT + SA1100_GRAPHICSMASTER SA1100_JORNADA720 SA1100_HUW_WEBPANEL + SA1100_ITSY SA1100_LART SA1100_NANOENGINE SA1100_OMNIMETER + SA1100_PANGOLIN SA1100_PLEB SA1100_SHERMAN SA1100_SIMPAD + SA1100_PFS168 SA1100_VICTOR SA1100_XP860_REAL SA1100_YOPY + +choices cerf_ram # Cerf RAM available + SA1100_CERF_8MB SA1100_CERF_16MB SA1100_CERF_32MB SA1100_CERF_64MB + default SA1100_CERF_8MB + +choices cerf_flash # Cerf flash available + SA1100_CERF_FLASH_8MB SA1100_CERF_FLASH_16MB SA1100_CERF_FLASH_32MB + default SA1100_CERF_FLASH_8MB + +derive SA1111 from ASSABET_NEPONSET or SA1100_XP860 + or SA1100_GRAPHICSMASTER or SA1100_ADSBITSY +derive FORCE_MAX_ZONEORDER from 9 # Only used by SA1111 support +derive SA1100_XP860 from SA1100_XP860_REAL or ASSABET_NEPONSET + +default SA1100_BRUTUS from ARCH_SA1100 + +unless ARCH_FOOTBRIDGE suppress + footbridge ARCH_EBSA285_ADDIN ARCH_EBSA285_HOST + ARCH_CATS ARCH_NETWINDER ARCH_PERSONAL_SERVER +unless ARCH_CLPS711X suppress ARCH_P720T + +require ARCH_FTVPCI or FOOTBRIDGE_HOST implies PCI==y + +# Select CPU types depending on the architecture selected. +# We use this to select which CPUs are supported, and to select +# the compiler tuning options. +unless ARCH_RPC suppress CPU_ARM610 +unless ARCH_CLPS7500==n and ARCH_RPC suppress CPU_ARM710 +#derive CPU_ARM7 from ARCH_CLPS7500 +default CPU_ARM710 from ARCH_CLPS7500 +default CPU_ARM720T from ARCH_CLPS711X or ARCH_L7200 or ARCH_CDB89712 +unless (ARCH_CLPS711X or ARCH_L7200)==n and ARCH_INTEGRATOR suppress CPU_ARM720T +unless ARCH_INTEGRATOR suppress dependent CPU_ARM920T #CPU_ARM1020 +#default CPU_ARM1020 from ARCH_INTEGRATOR +unless ARCH_RPC suppress CPU_SA110 +unless CPU_32 suppress ARTHUR ARM_THUMB +unless ARCH_CLPS711X suppress clps711xtypes +unless ARCH_SA1100 suppress sa1100type + +default CPU_SA110 from ARCH_EBSA110 or ARCH_FTVPCI or FOOTBRIDGE +unless ARCH_EBSA110!=n and ARCH_FTVPCI!=n and FOOTBRIDGE!=n suppress CPU_SA110 + +unless EXPERIMENTAL suppress CPU_FREQ + +menu arm # ARM port + armtype + clps711xtypes + EP72XX_ROM_BOOT + footbridge + ARCH_EBSA285_ADDIN ARCH_EBSA285_HOST + ARCH_CATS ARCH_NETWINDER ARCH_PERSONAL_SERVER + sa1100type + ARCH_FTVPCI + PAGESIZE_16 + CPU_ARM610 CPU_ARM710 CPU_ARM720T + CPU_ARM920T { + CPU_ARM920_CPU_IDLE + CPU_ARM920_D_CACHE_ON CPU_ARM920_I_CACHE_ON + CPU_ARM920_WRITETHROUGH + } + CPU_ARM926T { + CPU_ARM926_CPU_IDLE + CPU_ARM926_D_CACHE_ON CPU_ARM926_I_CACHE_ON + CPU_ARM926_FORCE_WRITETHROUGH + CPU_ARM926_ROUND_ROBIN + } + CPU_ARM1020 { + CPU_ARM1020_CPU_IDLE + CPU_ARM1020_D_CACHE_ON CPU_ARM1020_I_CACHE_ON + CPU_ARM1020_FORCE_WRITETHROUGH + CPU_ARM1020_ROUND_ROBIN + } + CPU_SA110 + ALIGNMENT_TRAP #TEXT_SECTIONS + ARTHUR? ARM_THUMB CPU_FREQ + LEDS {LEDS_TIMER LEDS_CPU} + angelboot_legend ANGELBOOT + +derive FOOTBRIDGE from ARCH_FOOTBRIDGE or ARCH_CO285 +derive FOOTBRIDGE_HOST from ARCH_CATS or ARCH_EBSA285_HOST + or ARCH_NETWINDER or ARCH_PERSONAL_SERVER +derive FOOTBRIDGE_ADDIN from ARCH_CO285 or ARCH_EBSA285_ADDIN +derive ARCH_EBSA285 from ARCH_EBSA285_HOST or ARCH_EBSA285_ADDIN +derive CPU_SA1100 from ARCH_SA1100 + +unless CPU_26 suppress PAGESIZE_16 + +# Easy check for Acorn-style architectures +derive ARCH_ACORN from ARCH_ARCA5K or ARCH_RPC + +# Select our input device +derive ARM_PC_KEYB from FOOTBRIDGE_HOST or ARCH_CLPS7500 +derive PC_KEYMAP from FOOTBRIDGE_HOST or ARCH_SA1100 or ARCH_INTEGRATOR + or ARCH_CLPS7500 or ARCH_P720T +derive KMI_KEYB from ARCH_INTEGRATOR +derive KMI_MOUSE from ARCH_INTEGRATOR + +# Figure out whether this system uses 26-bit or 32-bit CPUs. Nobody has +# ever built a machine that can take both, and now that ARM3 is obsolete +# nobody is likely to either. +derive CPU_26 from ARM and ARCH_ARCA5K +derive CPU_32 from ARM and (CPU_26==n) + +# In CML1, +# `or ARCH_TBOX or ARCH_SHARK or ARCH_NEXUSPCI +# was part of this guard. +derive CPU_32v4 from ARCH_EBSA110 or ARCH_FOOTBRIDGE or ARCH_CLPS711X + or ARCH_SA1100 or ARCH_CLPS7500 + or ARCH_L7200 or ARCH_INTEGRATOR or ARCH_FTVPCI + or ARCH_ANAKIN or ARCH_CAMELOT +derive L7200_KEYB from ARCH_L7200 +derive CPU_32v3 from ARCH_RPC or ARCH_CLPS7500 + +unless CPU_32 and ARCH_EBSA110!=y suppress ALIGNMENT_TRAP #TEXT_SECTIONS +unless CPU_32 suppress ARTHUR + +derive ISA_DMA from FOOTBRIDGE_HOST or ARCH_SHARK or ARCH_CLPS7500 + or ARCH_EBSA110 or ARCH_CDB89712 or ARCH_EDB7211 +require ISA_DMA implies ISA==y + +unless ARCH_NETWINDER or ARCH_EBSA110 or ARCH_EBSA285 or ARCH_FTVPCI + or ARCH_SA1100 or ARCH_CO285 or ARCH_P720T or ARCH_CDB89712 + suppress LEDS +unless ARCH_NETWINDER or ARCH_EBSA285 or ARCH_CO285 + or ARCH_SA1100 or ARCH_P720T suppress LEDS_TIMER LEDS_CPU +default LEDS_TIMER from ARCH_EBSA110 + +derive RPCMOUSE from ARCH_ACORN and BUSMOUSE!=n and ARCH_RPC==y +derive KBDMOUSE from ARCH_ACORN and BUSMOUSE!=n and ARCH_RPC!=y + +# The Future TV card used to be manufactured by Nexus Electronics. +# Remnants of this history still lurk in the kernel sources. +derive ARCH_NEXUSPCI from ARCH_FTVPCI + +# End diff -uNr linux.2.4.14.pristine/arch/cris/rules.cml linux/arch/cris/rules.cml --- linux.2.4.14.pristine/arch/cris/rules.cml Wed Dec 31 19:00:00 1969 +++ linux/arch/cris/rules.cml Wed Nov 14 17:01:24 2001 @@ -0,0 +1,246 @@ +# This is the top-level menu for architecture-dependent CRIS stuff + +private CRIS + +default ETRAX_DRAM_SIZE from 8 +default ETRAX_FLASH_BUSWIDTH from 2 +default ETRAX_ROOT_DEVICE from "/dev/mtdblock3" +default ETRAX_LED1G from 2 +default ETRAX_LED1R from 3 +default ETRAX_LED2G from 4 +default ETRAX_LED2R from 5 +default ETRAX_LED3R from 2 +default ETRAX_LED3G from 2 +default ETRAX_LED4R from 2 +default ETRAX_LED4G from 2 +default ETRAX_LED5R from 2 +default ETRAX_LED5G from 2 +default ETRAX_LED6R from 2 +default ETRAX_LED6G from 2 +default ETRAX_LED7R from 2 +default ETRAX_LED7G from 2 +default ETRAX_LED8Y from 2 +default ETRAX_LED9Y from 2 +default ETRAX_LED10Y from 2 +default ETRAX_LED11Y from 2 +default ETRAX_LED12R from 2 +default ETRAX_DEF_R_WAITSTATES from 0x95a6 +default ETRAX_DEF_R_BUS_CONFIG from 0x104 +default ETRAX_DEF_R_DRAM_CONFIG from 0x1a200040 +default ETRAX_DEF_R_DRAM_TIMING from 0x5611 +default ETRAX_DEF_R_SDRAM_CONFIG from 0xd2fa7878 +default ETRAX_DEF_R_SDRAM_TIMING from 0x80004801 +default ETRAX_DEF_R_PORT_PA_DIR from 0x1c +default ETRAX_DEF_R_PORT_PA_DATA from 0x00 +default ETRAX_DEF_R_PORT_PB_CONFIG from 0x00 +default ETRAX_DEF_R_PORT_PB_DIR from 0x00 +default ETRAX_DEF_R_PORT_PB_DATA from 0xff +#default ELTEST_IPADR from 0xab1005af +#default ELTEST_NETWORK from 0xab100000 +#default ELTEST_NETMASK from 0xffff0000 +#default ELTEST_BROADCAST from 0xab10ffff +#default ELTEST_GATEWAY from 0xab100101 +#default ELTEST_ETHADR from 0x00408ccd0000 +default ETRAX_SER0_DTR_ON_PB_BIT from 4 +default ETRAX_SER0_RI_ON_PB_BIT from 5 +default ETRAX_SER0_DSR_ON_PB_BIT from 6 +default ETRAX_SER0_CD_ON_PB_BIT from 7 +default ETRAX_SER1_DTR_ON_PB_BIT from 4 +default ETRAX_SER1_RI_ON_PB_BIT from 5 +default ETRAX_SER1_DSR_ON_PB_BIT from 6 +default ETRAX_SER1_CD_ON_PB_BIT from 7 +default ETRAX_SER2_DTR_ON_PA_BIT from 4 +default ETRAX_SER2_RI_ON_PA_BIT from 5 +default ETRAX_SER2_DSR_ON_PA_BIT from 6 +default ETRAX_SER2_CD_ON_PA_BIT from 7 +default ETRAX_RS485_ON_PA_BIT from 3 +default ETRAX_SYNCHRONOUS_SERIAL0_DMA from ETRAX_SYNCHRONOUS_SERIAL_PORT0 +default ETRAX_SYNCHRONOUS_SERIAL1_DMA from ETRAX_SYNCHRONOUS_SERIAL_PORT1 +default ETRAX_PA_BUTTON_BITMASK from 0x02 +default ETRAX_PA_CHANGEABLE_DIR from 0x00 +default ETRAX_PA_CHANGEABLE_BITS from 0xff +default ETRAX_PB_CHANGEABLE_DIR from 0x00 +default ETRAX_PB_CHANGEABLE_BITS from 0x0ff +default ETRAX_PTABLE_SECTOR from 65536 +default ETRAX_DS1302_RSTBIT from 2 +default ETRAX_DS1302_SCLBIT from 1 +default ETRAX_DS1302_SDABIT from 0 +default ETRAX_SHUTDOWN_BIT from 12 +default ETRAX_POWERBUTTON_BIT from 25 +default PROFILE_SHIFT from 2 + +# These used to be questions in the CRIS setup menu. +derive ETRAX_ETHERNET from CRIS and NET_ETHERNET +derive ETRAX_SERIAL from CRIS and SERIAL!=n +derive ETRAX_IDE from CRIS and IDE!=n +derive ETRAX_I2C from CRIS and I2C!=n +derive ETRAX_USB_HOST from CRIS and USB!=n + +unless ETRAX_SERIAL suppress crisserial + +unless ETRAX_SDRAM==n suppress ETRAX_DEF_R_DRAM_CONFIG ETRAX_DEF_R_DRAM_TIMING + +unless ETRAX_ETHERNET suppress cris_net_led +choices cris_net_led # Network LED behavior + ETRAX_NETWORK_LED_ON_WHEN_LINK ETRAX_NETWORK_LED_ON_WHEN_ACTIVITY + default ETRAX_NETWORK_LED_ON_WHEN_ACTIVITY + +menu cris # Axis Communications ETRAX 100LX + cristype + ETRAX_WATCHDOG + BINFMT_JAVA? + ETRAX_DRAM_SIZE% + ETRAX_FLASH_BUSWIDTH% + ETRAX_ROOT_DEVICE$ + crisleds + ETRAX_LED1G% ETRAX_LED1R% + ETRAX_LED2G% ETRAX_LED2R% + ETRAX_LED3R% ETRAX_LED3G% + ETRAX_LED4G% ETRAX_LED4R% + ETRAX_LED5G% ETRAX_LED5R% + ETRAX_LED6R% ETRAX_LED6G% + ETRAX_LED7R% ETRAX_LED7G% + ETRAX_LED8Y% ETRAX_LED9Y% ETRAX_LED10Y% ETRAX_LED11Y% ETRAX_LED12R% + cris_net_led + crisdebug + crisrescue + ETRAX_DEF_R_WAITSTATES@ + ETRAX_DEF_R_BUS_CONFIG@ + ETRAX_SDRAM { + ETRAX_DEF_R_SDRAM_CONFIG@ ETRAX_DEF_R_SDRAM_TIMING@ + } + # else + ETRAX_DEF_R_DRAM_CONFIG@ ETRAX_DEF_R_DRAM_TIMING@ + ETRAX_DEF_R_PORT_PA_DIR@ + ETRAX_DEF_R_PORT_PA_DATA@ + ETRAX_DEF_R_PORT_PB_CONFIG@ + ETRAX_DEF_R_PORT_PB_DIR@ + ETRAX_DEF_R_PORT_PB_DATA@ + ETRAX_ETHERNET_LPSLAVE {ETRAX_ETHERNET_LPSLAVE_HAS_LEDS} + #ETRAX_ETHERNET ETRAX_SERIAL + crisserial + ETRAX_PARPORT {ETRAX_PARALLEL_PORT0 ETRAX_PARALLEL_PORT1} + ETRAX_AXISFLASHMAP {ETRAX_PTABLE_SECTOR%} + ETRAX_I2C_USES_PB_NOT_PB_I2C + ETRAX_I2C_EEPROM etrax_eeprom + ETRAX_GPIO { + ETRAX_PA_BUTTON_BITMASK@ + ETRAX_PA_CHANGEABLE_DIR@ + ETRAX_PA_CHANGEABLE_BITS@ + ETRAX_PB_CHANGEABLE_DIR@ + ETRAX_PB_CHANGEABLE_BITS@ + } + JULIETTE + ETRAX_DS1302 {etrax_rtc} + ETRAX_SOFT_SHUTDOWN {ETRAX_SHUTDOWN_BIT% ETRAX_POWERBUTTON_BIT%} + PROFILE {PROFILE_SHIFT%} + +unless ETRAX_NO_LEDS==n suppress ETRAX_LED1G ETRAX_LED1R ETRAX_LED2G ETRAX_LED2R ETRAX_LED3R ETRAX_LED3G +unless ETRAX_CSP0_LEDS suppress + ETRAX_LED4G ETRAX_LED4R + ETRAX_LED5G ETRAX_LED5R + ETRAX_LED6R ETRAX_LED6G + ETRAX_LED7R ETRAX_LED7G + #ETRAX_LED8Y ETRAX_LED9Y ETRAX_LED10Y ETRAX_LED11Y ETRAX_LED12R + +require ETRAX_ETHERNET==y implies NET_ETHERNET==y +require ETRAX_IDE==y implies BLK_DEV_IDE==y and BLK_DEV_IDEDISK==y and + BLK_DEV_IDECD==y and BLK_DEV_IDEDMA==y + and DMA_NONPCI==y +require ETRAX_USB_HOST implies USB==y + +require ETRAX_PARPORT implies PARPORT==y and PARPORT_1284==y and PRINTER==y + +# Here we define the symbols necessary to enable MTD support for the flash. +require ETRAX_AXISFLASHMAP implies MTD==y and MTD_CFI==y and + MTD_CFI_INTELEXT==n and MTD_CFI_AMDSTD==y and + MTD_CHAR==y +# This is probably an error +#derive MTD_AMDSTD from ETRAX_AXISFLASHMAP +derive MTD_PARITIONS from ETRAX_AXISFLASHMAP + +choices cristype # Processor type + ETRAX100LX ETRAX100LX_V2 SVINTO_SIM + default ETRAX100LX + +choices crisleds # Product LED port + ETRAX_PA_LEDS ETRAX_PB_LEDS ETRAX_CSP0_LEDS ETRAX_NO_LEDS + default ETRAX_PA_LEDS + +choices crisdebug # Product debug port + ETRAX_DEBUG_PORT0 ETRAX_DEBUG_PORT1 ETRAX_DEBUG_PORT2 + ETRAX_DEBUG_PORT3 ETRAX_DEBUG_PORT_NULL + default ETRAX_DEBUG_PORT0 + +choices crisrescue # Product rescue port + ETRAX_RESCUE_SER0 ETRAX_RESCUE_SER1 ETRAX_RESCUE_SER2 ETRAX_RESCUE_SER3 + default ETRAX_RESCUE_SER0 + +default ETRAX_SERIAL_RX_TIMEOUT_TICKS from 5 +derive ETRAX_SERIAL_FAST_TIMER from n # This will change + +menu crisserial # CRIS serial port + ETRAX_SERIAL_PORT0 + # ETRAX_SERIAL_FAST_TIMER { + ETRAX_SERIAL_FLUSH_DMA_FAST {ETRAX_SERIAL_RX_TIMEOUT_TICKS%} + #} + ETRAX_SER0_DTR_RI_DSR_CD_ON_PB { + ETRAX_SER0_DTR_ON_PB_BIT% + ETRAX_SER0_RI_ON_PB_BIT% + ETRAX_SER0_DSR_ON_PB_BIT% + ETRAX_SER0_CD_ON_PB_BIT% + } + ETRAX_SERIAL_PORT1 { + ETRAX_SER1_DTR_RI_DSR_CD_ON_PB { + ETRAX_SER1_DTR_ON_PB_BIT% + ETRAX_SER1_RI_ON_PB_BIT% + ETRAX_SER1_DSR_ON_PB_BIT% + ETRAX_SER1_CD_ON_PB_BIT% + } + } + ETRAX_SERIAL_PORT2 { + ETRAX_SER2_DTR_RI_DSR_CD_ON_PA { + ETRAX_SER2_DTR_ON_PA_BIT% + ETRAX_SER2_RI_ON_PA_BIT% + ETRAX_SER2_DSR_ON_PA_BIT% + ETRAX_SER2_CD_ON_PA_BIT% + } + } + ETRAX_SERIAL_PORT3 + ETRAX_RS485 {ETRAX_RS485_ON_PA {ETRAX_RS485_ON_PA_BIT%} ETRAX_RS485_DISABLE_RECEIVER} + ETRAX_SYNCHRONOUS_SERIAL { + ETRAX_SYNCHRONOUS_SERIAL_PORT0 { + ETRAX_SYNCHRONOUS_SERIAL0_DMA + } + ETRAX_SYNCHRONOUS_SERIAL_PORT1 { + ETRAX_SYNCHRONOUS_SERIAL1_DMA + } + } + +require ETRAX_SER0_DTR_RI_DSR_CD_ON_PB==n or ETRAX_SER1_DTR_RI_DSR_CD_ON_PB==n + explanation crisconflict_complaint + +choices ide_reset # IDE reset pin + ETRAX_IDE_PB7_RESET + ETRAX_IDE_G27_RESET + ETRAX_IDE_CSE1_16_RESET + ETRAX_IDE_CSP0_8_RESET + default ETRAX_IDE_PB7_RESET + +choices etrax_eeprom + ETRAX_I2C_EEPROM_PROBE ETRAX_I2C_EEPROM_2KB + ETRAX_I2C_EEPROM_8KB ETRAX_I2C_EEPROM_16KB + default ETRAX_I2C_EEPROM_PROBE + +menu etrax_rtc + ETRAX_DS1302_RST_ON_GENERIC_PORT + ETRAX_DS1302_RSTBIT% ETRAX_DS1302_SCLBIT% ETRAX_DS1302_SDABIT% + +# Etrax100 LX v1 has a MMU "feature" requiring a low mapping +derive CRIS_LOW_MAP from ETRAX100LX +derive ETRAX_DRAM_VIRTUAL_BASE from CRIS_LOW_MAP ? 0x60000000 : 0xc0000000 + +# Enable the debugger from the kernelhacking menu +derive ETRAX_KGDB from CRIS and KGDB + +# End diff -uNr linux.2.4.14.pristine/arch/i386/rules.cml linux/arch/i386/rules.cml --- linux.2.4.14.pristine/arch/i386/rules.cml Wed Dec 31 19:00:00 1969 +++ linux/arch/i386/rules.cml Wed Nov 14 17:01:24 2001 @@ -0,0 +1,77 @@ +# from arch/i386/config.in + +#private X86 + +# Perhaps this should default on for 686 clones as well? +default MTRR from M686 or MPENTIUMIII + +# This is the top-level menu for architecture-dependent i386 stuff +menu x86 # Intel options + x86type + MICROCODE? + TOSHIBA? I8K? + X86_MSR? + X86_CPUID? + himem + MTRR + X86_UP_APIC + X86_UP_IOAPIC + MULTIQUAD + # Visual Workstation support is utterly broken. + # If you want to see it working mail an VW540 to hch@infradead.org 8) + #VISWS + +unless M686 suppress MICROCODE +unless SMP!=y suppress X86_UP_APIC X86_UP_IOAPIC +unless SMP!=n suppress MULTIQUAD +#require VISWS implies PCI == y + +derive X86_LOCAL_APIC from X86_UP_IOAPIC + +choices x86type # Intel x86 processor types + M386 M486 M586 M586TSC M586MMX M686 MPENTIUMIII MPENTIUM4 MK6 MK7 + MCRUSOE MWINCHIPC6 MWINCHIP2 MWINCHIP3D MCYRIXIII + default M686 + +choices himem # High Memory Support + NOHIGHMEM HIGHMEM4G HIGHMEM64G + default NOHIGHMEM + +derive X86_WP_WORKS_OK from (M386==n) +derive X86_INVLPG from (M386==n) +derive X86_BSWAP from (M386==n) +derive X86_POPAD_OK from (M386==n) +derive X86_TSC from M586TSC or M586MMX or M686 or MPENTIUMIII or MK6 or MK7 + or MCRUSOE or MWINCHIP2 or MWINCHIP3D or MPENTIUM4 + or MCYRIXIII +derive X86_GOOD_APIC from M586MMX or M686 or MPENTIUMIII or MK7 or MPENTIUM4 +derive X86_PGE from M686 or MPENTIUMIII or MK7 or MPENTIUM4 +derive X86_USE_3DNOW from MK7 or MWINCHIP3D or MCYRIXIII +derive X86_CMPXCHG from M386==n +derive X86_USE_STRING_486 from M486 or M586 or M586TSC or M586MMX +derive X86_ALIGNMENT_16 from M486 or M586 or M586TSC or M586MMX or MK6 + or MWINCHIPC6 or MWINCHIP2 or MWINCHIP3D + or MCYRIXIII +derive X86_USE_PPRO_CHECKSUM from M686 or MPENTIUMIII or MK6 or MK7 + or MWINCHIPC6 or MWINCHIP2 or MWINCHIP3D + or MPENTIUM4 +derive X86_PAE from HIGHMEM64G +derive X86_IO_APIC from X86_UP_IOAPIC or SMP + +#derive X86_LOCAL_APIC from X86 and X86_UP_IOAPIC or SMP # or VISWS +#derive X86_VISWS_APIC from X86 and VISWS +derive X86_XADD from X86 and M386==n + +# There are PCI-only machines out there, but as of 2.40-test1 I'm told +# nobody has tested the kernel with an x86 lacking ISA. Giacomo Catenazzi +# believes that some motherboard chips use the ISA support code anyway even +# if you don't have an ISA bus. +require X86 implies ISA==y + +# Configure.help implies that RTC has to be compiled in hard if SMP is +# on, but compiling it modular is reported to work by hklygre@online.no. +require X86 and SMP implies RTC!=n + +derive X86_L1_CACHE_SHIFT from 5 - (M386 or M486) + (MPENTIUM4 * 2) + MK6 + +# End diff -uNr linux.2.4.14.pristine/arch/ia64/rules.cml linux/arch/ia64/rules.cml --- linux.2.4.14.pristine/arch/ia64/rules.cml Wed Dec 31 19:00:00 1969 +++ linux/arch/ia64/rules.cml Wed Nov 14 17:01:24 2001 @@ -0,0 +1,75 @@ +# IA64 port + +# This is the top-level menu for architecture-dependent Itanium stuff + +unless EXPERIMENTAL suppress ACPI_KERNEL_CONFIG IA32SUPPORT + +choices ia64type # IA-64 processor type + ITANIUM MCKINLEY + default ITANIUM + +choices ia64system # IA-64 system type + IA64_GENERIC IA64_DIG IA64_HP_SIM + IA64_SGI_SN1 IA64_SGI_SN2 + default IA64_GENERIC + +derive IA64_SGI_SN from IA64_SGI_SN1 or IA64_SGI_SN2 +derive PERCPU_IRQ from IA64_SGI_SN +derive ACPI_EFI from IA64 and ACPI + +# FIXME: This creates a constraint violation in the initial state. +#require IA64_HP_SIM==n implies ACPI_KERNEL_CONFIG==y + + +require IA64_SGI_SN_SIM implies DEVFS_DEBUG==y and DEVFS_FS==y and IA64_MCA==y + +choices pagesize # Kernel page size + IA64_PAGE_SIZE_4KB IA64_PAGE_SIZE_8KB + IA64_PAGE_SIZE_16KB IA64_PAGE_SIZE_64KB + default IA64_PAGE_SIZE_16KB + +choices granularity # Physical memory granularity + IA64_GRANULE_16MB IA64_GRANULE_64MB + default IA64_GRANULE_16MB + +unless IA64_HP_SIM or IA64_GENERIC suppress SIMETH SIM_SERIAL +#unless ITANIUM suppress ITANIUM_ASTEP_SPECIFIC +unless ITANIUM suppress ITANIUM_BSTEP_SPECIFIC +#unless MCKINLEY suppress MCKINLEY_ASTEP_SPECIFIC + +unless IA64_SGI_SN suppress + IA64_SGI_SN_DEBUG IA64_SGI_SN_SIM IA64_SGI_AUTOTEST + SERIAL_SGI_L1_PROTOCOL PCIBA + +menu ia64 # Itanium processors + ia64type + ia64system + pagesize granularity + ITANIUM_ASTEP_SPECIFIC {MCKINLEY_ASTEP_SPECIFIC {MCKINLEY_A0_SPECIFIC}} + ITANIUM_BSTEP_SPECIFIC + #IA64_SGI_SN { + IA64_SGI_SN_DEBUG IA64_SGI_SN_SIM IA64_SGI_AUTOTEST + SERIAL_SGI_L1_PROTOCOL PCIBA? + #} + IA64_MCA ACPI_KERNEL_CONFIG PERFMON + IA64_PALINFO? EFI_VARS? + SIMETH? SIM_SERIAL SCSI_SIM + IA32SUPPORT + +require IA64_SGI_SN implies DISCONTIGMEM==y and NUMA==y + +require SCSI_SIM implies SCSI!=n + +derive IA64_BRL_EMU from ITANIUM or IA64_SGI_SN1 +#derive IA64_SGI_IO from IA64_SGI_SN1 + +unless IA64_DIG suppress + ITANIUM_ASTEP_SPECIFIC + #IA64_AZUSA_HACKS + # IA64_FW_EMU + IA64_MCA + # IA64_IRQ_ACPI + +derive IA64_L1_CACHE_SHIFT from (IA64_SGI_SN1 or MCKINLEY) ? 7 : 6 + +# End diff -uNr linux.2.4.14.pristine/arch/m68k/rules.cml linux/arch/m68k/rules.cml --- linux.2.4.14.pristine/arch/m68k/rules.cml Wed Dec 31 19:00:00 1969 +++ linux/arch/m68k/rules.cml Wed Nov 14 17:01:24 2001 @@ -0,0 +1,52 @@ +# Motorola 680x0-based machines + +# Derive as much as we can from architecture-independent questions +derive AMIGA_FLOPPY from BLK_DEV_FD & AMIGA +derive ATARI_FLOPPY from BLK_DEV_FD & ATARI + +private M68K + +unless EXPERIMENTAL suppress dependent M68KFPU_EMU AMIGA_PCMCIA +unless EXPERT suppress ADVANCED +unless SUN3!=y suppress SINGLE_MEMORY_CHUNK + +menu m68k # Motorola 68K processor options + MAC + AMIGA {ZORRO {ZORRO_NAMES} AMIGA_PCMCIA STRAM_SWAP STRAM_PROC} + ATARI {HADES} + APOLLO + VME { + MVME147 {MVME147_NET? MVME147_SCSI MVME147_SCC} + MVME16x {MVME16x_NET? MVME16x_SCSI MVME162_SCC} + BVME6000 { + BVME6000_NET? BVME6000_SCSI BVME6000_SCC + } + } + HP300 {DIO} + SUN3 + SUN3X + M68020 {M68030 {M68040 {M68060}}} + M68KFPU_EMU {M68KFPU_EMU_EXTRAPREC M68KFPU_EMU_ONLY} + ADVANCED {RMW_INSNS SINGLE_MEMORY_CHUNK CONFIG_060_WRITETHROUGH} + Q40 + USERIAL + +unless M68060 suppress CONFIG_060_WRITETHROUGH + +require M68K implies (PCI==HADES) +derive NUBUS from MAC +derive M68K_L2_CACHE from MAC + +derive DN_SERIAL from APOLLO and SERIAL==y + +# These were separate questions in CML1 +derive MAC_SCC from MAC & SERIAL +derive SUN3_SCSI from (SUN3 | SUN3X) & SCSI + +derive SUN_MOUSE from SUN3X_ZS +derive SUN_KEYBOARD from SUN3X_ZS + +# Hmmm...this is going to force SERIAL on, I think... +require VME implies SERIAL_CONSOLE==y + +# End diff -uNr linux.2.4.14.pristine/arch/mips/rules.cml linux/arch/mips/rules.cml --- linux.2.4.14.pristine/arch/mips/rules.cml Wed Dec 31 19:00:00 1969 +++ linux/arch/mips/rules.cml Wed Nov 14 17:01:24 2001 @@ -0,0 +1,142 @@ +# MIPS 32 and 64-bit ports + +# This is the top-level menu for architecture-dependent Mips stuff +# Both MIPS32 and MIPS64 ports are handled here because they have +# lots of port-specific questions in common that would be illegal +# to duplicate across menus. + +unless EXPERIMENTAL suppress dependent + ACER_PICA_61 ALGOR_P4032 BAGET_MIPS DECSTATION DDB5074 NINO + +private MIPS MIPS32 MIPS64 MIPS_PS2_KEYB + +require MIPS implies SMP + +unless EXPERT suppress CPU_HAS_LLSC CPU_HAS_LLDSCD CPU_HAS_WB +unless WIZARD suppress CROSSCOMPILE #MIPS_FPE_MODULE +#unless MODULES!=n suppress MIPS_FPE_MODULE + +unless QTRONIX_KEYBOARD==n suppress MIPS_PS2_KEYB IT8172_SCR0 +unless MIPS_ITE8172 suppress IT8172_REVC MIPS_PS2_KEYB IT8172_SCR1 +unless MIPS_ITE8172 or MIPS_IVR suppress IT8172_SCR0 + +menu mips # MIPS machine selection + mipstype + # MIPS32 items begin here ---------------------------------------- + ACER_PICA_61 ALGOR_P4032 BAGET_MIPS + DECSTATION DDB5074 + MIPS_EV96100 MIPS_EV64120 {EVB_PCI1 galileo_clock} + MIPS_ATLAS MIPS_MALTA + NINO {nino_model} + MIPS_MAGNUM_4000 MOMENCO_OCELOT DDB5476 DDB5477 + OLIVETTI_M700 SGI_IP22 SNI_RM200_PCI + MIPS_ITE8172 MIPS_IVR + QTRONIX_KEYBOARD + # Deal with nasty dependency interlock involving QTRONIX_KEYBOARD + IT8172_REVC + MIPS_PS2_KEYB + IT8172_SCR0 + IT8172_SCR1 + # Back to top level... + MIPS_PB1000 + CPU_HAS_LLSC CPU_HAS_LLDSCD CPU_HAS_WB + CROSSCOMPILE + #MIPS_FPE_MODULE + # MIPS64 items begin here ---------------------------------------- + SGI_IP27 { + SGI_SN0_N_MODE MAPPED_KERNEL + REPLICATE_KTEXT REPLICATE_EXHANDLERS + } + MIPS_INSANE_LARGE MIPS32_COMPAT + +require MOMENCO_OCELOT==y implies SYSCLK_100==y + +derive IT8172_CIR from QTRONIX_KEYBOARD + +choices galileo_clock # Galileo Chip Clock + CONFIG_SYSCLK_75 CONFIG_SYSCLK_83 CONFIG_SYSCLK_100 + default CONFIG_SYSCLK_83 + +choices nino_model # Nino Model Number + NINO_4MB NINO_8MB NINO_16MB + default NINO_8MB + +unless MIPS32 suppress + ACER_PICA_61 ALGOR_P4032 BAGET_MIPS DECSTATION DDB5074 + MIPS_MAGNUM_4000 OLIVETTI_M700 SGI_IP22 SNI_RM200_PCI + CPU_HAS_LLSC CPU_HAS_LLDSCD CPU_HAS_WB +unless MIPS64 suppress + SGI_IP27 SGI_SN0_N_MODE # SGI_SN0_XXL + MIPS_INSANE_LARGE MIPS32_COMPAT + +default CPU_HAS_LLSC from MIPS64 or (CPU_R3000==n) +default CPU_HAS_LLDSCD from MIPS32 +default CPU_HAS_WB from CPU_R3000 and DECSTATION + +require (ALGOR_P4032 or SNI_RM200_PCI or DDB5074) implies PCI==y +require (MIPS_MAGNUM_4000 or OLIVETTI_M700 or ACER_PICA_61 + or SNI_RM200_PCI or DDB5074) + implies ISA==y +derive MIPS_PC_KEYB from MIPS_MAGNUM_4000 or OLIVETTI_M700 or ACER_PICA_61 + or SGI_IP22 or SNI_RM200_PCI or FOOTBRIDGE + or MIPS_PS2_KEYB or MIPS_ITE8172 + or (IT8712 and QTRONIX_KEYBOARD==n) +require DDB5074 or SNI_RM200_PCI or SGI_IP27 or MIPS_EV96100 or MIPS_EV64120 + or MIPS_MALTA or MOMENCO_OCELOT or DDB5477 or MIPS_ITE8172 + or MIPS_IVR + implies PCI==y +require DECSTATION or SGI_IP22 implies IDE==n +require (MIPS_MAGNUM_4000 or OLIVETTI_M700) implies FB==y +derive ARC32 from + MIPS_MAGNUM_4000 or OLIVETTI_M700 or ACER_PICA_61 + or SGI_IP22 or SNI_RM200_PCI + +#derive HAVE_IO_PORTS from MIPS_MAGNUM_4000 or OLIVETTI_M700 or ACER_PICA_61 +# or SNI_RM200_PCI or DDB5074 +derive MIPS_JAZZ from MIPS_MAGNUM_4000 or OLIVETTI_M700 or ACER_PICA_61 + or MIPS_MAGNUM_4000 or OLIVETTI_M700 +derive FB_G364 from MIPS_MAGNUM_4000 or OLIVETTI_M700 +derive SGI from SGI_IP22 or SGI_IP27 +derive BOOT_ELF32 from SGI_IP22 +derive BOARD_SCACHE from SGI_IP22 +derive ARC_MEMORY from SGI_IP22 +derive BOOT_ELF64 from SGI_IP27 +derive ARC64 from SGI_IP27 +derive COHERENT_IO from SGI_IP27 +derive QL_ISP_A64 from SGI_IP27 + +derive VIDEO_G364 from n + +choices mipstype # MIPS-32 CPU selection + CPU_R3000 CPU_R6000 CPU_VR41XX CPU_R4300 CPU_R4X00 + CPU_R5000 CPU_R5432 CPU_RM7000 CPU_R8000 + CPU_NEVADA CPU_R10000 CPU_SB1 CPU_MIPS32 CPU_MIPS64 + default CPU_R4X00 +unless MIPS32 suppress CPU_R3000 CPU_R6000 + +derive ELF_KERNEL from MIPS + +derive MIPS_GT96100 from MIPS_EV96100 +derive SWAP_IO_SPACE from MIPS_EV96100 or MIPS_ATLAS or MIPS_MALTA + or MOMENCO_OCELOT +derive OLD_TIME_C from MIPS_EV64120 or ALGOR_P4032 or MIPS_MAGNUM_4000 + or OLIVETTI_M700 or MOMENCO_OCELOT or SGI_IP22 or SNI_RM200_PCI +derive NEW_TIME_C from DDB5074 or DDB5477 +derive MIPS_GT64120 from MIPS_EV64120 +derive I8259 from ACER_PICA_61 or MIPS_MALTA or SNI_RM200_PCI or DDB5074 +derive HAVE_STD_PC_SERIAL_PORT from MIPS_MALTA or DDB5074 +derive NEW_IRQ from MIPS_MALTA or MOMENCO_OCELOT or SGI_IP22 + or DDB5477 or MIPS_PB1000 +derive ROTTEN_IRQ from SNI_RM200_PCI or DDB5074 +derive IT8712 from MIPS_ITE8172 +derive MIPS_AU1000 from MIPS_PB1000 +derive NEW_PCI from MIPS_EV96100 or MIPS_ITE8172 +derive PCI_AUTO from MIPS_EV96100 or MIPS_ITE8172 + +# This was a separate query in CML1 +derive MIPS_RTC from MIPS & RTC + +derive L1_CACHE_SHIFT from SGI_IP27 ? 7 : 5 +derive CONFIG_MAPPED_PCI_IO from SGI_IP27 + +# End diff -uNr linux.2.4.14.pristine/arch/parisc/rules.cml linux/arch/parisc/rules.cml --- linux.2.4.14.pristine/arch/parisc/rules.cml Wed Dec 31 19:00:00 1969 +++ linux/arch/parisc/rules.cml Wed Nov 14 17:01:24 2001 @@ -0,0 +1,20 @@ +# HP PA-RISC port + +#unless PCI suppress GSC_DINO PCI_LBA +#default GSC_DINO from PCI and PARISC + +menu parisc + KWDB + #GSC + IOMMU_CCIO IODC_CONSOLE + GSC_LASI { + PARPORT_GSC? #LASI_82596 + } + GSC_DINO PCI_LBA + +derive IOSAPIC from PCI_LBA +derive IOMMU_SBA from PCI_LBA + +require PARISC implies SMP == n + +# End diff -uNr linux.2.4.14.pristine/arch/ppc/rules.cml linux/arch/ppc/rules.cml --- linux.2.4.14.pristine/arch/ppc/rules.cml Wed Dec 31 19:00:00 1969 +++ linux/arch/ppc/rules.cml Wed Nov 14 17:01:24 2001 @@ -0,0 +1,84 @@ +# from arch/ppc/config.in + +# This is the top-level menu for architecture-dependent Power PC stuff + +private CONFIG_6xx_GENERIC +unless CONFIG_8xx suppress PCI_QSPAN + +unless DANGEROUS suppress TAU_INT + +choices ppctype # Power PC processor type + CONFIG_6xx CONFIG_4xx POWER3 POWER4 CONFIG_8260 CONFIG_8xx + default CONFIG_6xx + +choices ppc4xxtype + OAK WALNUT + default OAK + +choices ppc6xxtype + CONFIG_6xx_GENERIC GEMINI APUS + default CONFIG_6xx_GENERIC + +choices ppc82xxtype + EST8260 + default EST8260 + +# This doesn't seem to be used in the C code anywhere +derive ABSTRACT_CONSOLE from APUS + +derive FB_CONSOLE from APUS + +choices ppc8xxtype + RPXLITE RPXCLASSIC BSEIP FADS + TQM823L TQM850L TQM855L TQM860L FPS850L TQM860 + SPD823TS IVMS8 IVML24 SM850 MBX WINCEPT + default RPXLITE + +derive TQM8xxL from TQM823L or TQM850L or FPS850L + or TQM855L or TQM860L or SM850 + +#default PCI_PERMEDIA from PCI + +menu ppc + ppctype + ppc82xxtype + ppc4xxtype + ppc6xxtype ALTIVEC + TAU {TAU_INT TAU_AVERAGE} + BOOTX_TEXT PPC601_SYNC_FIX + ppc8xxtype + CONFIG_8xx_COPYBACK CONFIG_8xx_CPU6 UCODE_PATCH + PCI_QSPAN + PCI_PERMEDIA + +unless CONFIG_4xx suppress ppc4xxtype +unless CONFIG_6xx suppress ppc6xxtype ALTIVEC PMAC_PBOOK PMAC_BACKLIGHT + BOOTX_TEXT PPC601_SYNC_FIX +unless CONFIG_8xx suppress ppc8xxtype CONFIG_8xx_COPYBACK CONFIG_8xx_CPU6 PCI_QSPAN +unless CONFIG_8260 suppress ppc82xxtype + +derive PPC_STD_MMU from CONFIG_6xx or POWER3 or POWER4 +derive ALL_PPC from PPC and PPC_STD_MMU==n +derive MACH_SPECIFIC from ALL_PPC +derive PPC64BRIDGE from POWER3 or POWER4 + +require CONFIG_8260 implies CONFIG_6xx==y +require CONFIG_8260 or CONFIG_8xx implies SERIAL_CONSOLE==y +require (APUS or CONFIG_8260) implies PCI +require PCI_QSPAN or PCI_PERMEDIA implies PCI == y +#require PCI_QSPAN implies PCI == y + +#unless APUS suppress PCI_PERMEDIA + +require APUS implies (FB and FB_CONSOLE and AMIGA and ZORRO and AMIGAMOUSE!=n and MOUSE!=n and BUSMOUSE!=n) +unless APUS suppress AMIGA_BUILTIN_SERIAL +require (APUS and (AMIGA_BUILTIN_SERIAL!=n or GVPIOEXT!=n or MULTIFACE_III_TTY!=n)) + implies SERIAL_CONSOLE==y +derive APUS_FAST_EXCEPT from APUS + +require PPC implies ISA==n + +# Not clear this is used anywhere +derive KERNEL_ELF from PPC + +# End diff -uNr linux.2.4.14.pristine/arch/s390/rules.cml linux/arch/s390/rules.cml --- linux.2.4.14.pristine/arch/s390/rules.cml Wed Dec 31 19:00:00 1969 +++ linux/arch/s390/rules.cml Wed Nov 14 17:01:24 2001 @@ -0,0 +1,26 @@ +# IBM S/390 mainframe port + +# This is the top-level menu for architecture-dependent System 390 stuff + +private S390 S390X + +menu s390 # System 390 processor options + FAST_IRQ + IPL {s390_ipl} + CHANDEV + PROCESS_DEBUG PFAULT SHARED_KERNEL + +choices s390_ipl # IPL method generated into head.S + IPL_TAPE IPL_VM + default IPL_TAPE + +unless ARCH_S390==n suppress + ISA PCI PNP MCA TC PARPORT HOTPLUG IDE SCSI + CD_NO_IDESCSI USB IEEE1394 I2O + +require ARCH_S390 implies ISA==n and PCI==n and PNP==n and MCA==n and TC==n + and PARPORT==n and HOTPLUG==n and IDE==n and SCSI==n + and CD_NO_IDESCSI==n and USB==n and IEEE1394==n and ADB==n + and I2O==n and BINFMT_AOUT==n and KCORE_ELF==y + +# End diff -uNr linux.2.4.14.pristine/arch/sh/rules.cml linux/arch/sh/rules.cml --- linux.2.4.14.pristine/arch/sh/rules.cml Wed Dec 31 19:00:00 1969 +++ linux/arch/sh/rules.cml Wed Nov 14 17:01:24 2001 @@ -0,0 +1,54 @@ +# SuperH port + +# This is the top-level menu for architecture-dependent SuperH stuff + +# Even on SuperH devices which don't have an ISA bus, +# this variable helps the PCMCIA modules handle +# IRQ requesting properly -- Greg Banks. +require SUPERH implies ISA == y + +default MEMORY_START from 0x08000000 +default HD64461_IRQ from 36 +default HD64465_IRQ from 5 +default HD64465_IOBASE from 0xb0000000 + +choices superhsys # SuperH system type + SH_GENERIC + SH_SOLUTION_ENGINE + SH_7751_SOLUTION_ENGINE + SH_STB1_HARP + SH_STB1_OVERDRIVE + SH_HP620 SH_HP680 SH_HP690 + SH_CQREEK SH_DMIDA SH_EC3104 SH_DREAMCAST SH_CAT68701 + SH_BIGSUR SH_SH2000 + SH_UNKNOWN + default SH_GENERIC + +choices superhtype # SuperH processor type + CPU_SUBTYPE_SH7707 CPU_SUBTYPE_SH7708 CPU_SUBTYPE_SH7709 CPU_SUBTYPE_SH7750 CPU_SUBTYPE_SH7751 CPU_SUBTYPE_ST40STB1 + default CPU_SUBTYPE_SH7708 + +menu superh # SuperH options + superhsys + superhtype + MEMORY_START@ + HD64461 {HD64461_IRQ% HD64461_ENABLER} + HD64465 {HD64465_IRQ% HD64465_IOBASE@} + SH_STANDARD_BIOS + SH_EARLY_PRINTK + CF_ENABLER + +unless SH_GENERIC or SH_SOLUTION_ENGINE or SH_UNKNOWN suppress CF_ENABLER +unless SH_STANDARD_BIOS suppress SH_EARLY_PRINTK +unless HD64461 suppress HD64461_IRQ +unless HD64461 suppress HD64461_ENABLER + +derive CPU_SH3 from CPU_SUBTYPE_SH7707 or CPU_SUBTYPE_SH7708 or CPU_SUBTYPE_SH7709 +derive CPU_SH4 from CPU_SUBTYPE_SH7750 or CPU_SUBTYPE_SH7751 or CPU_SUBTYPE_ST40STB1 +derive SH_HP600 from SH_HP620 or SH_HP680 or SH_HP690 +derive SH_RTC from SH_GENERIC or SH_SOLUTION_ENGINE or SH_STB1_OVERDRIVE or SH_HP620 or SH_HP680 or SH_HP690 or SH_CQREEK or SH_DMIDA or SH_EC3104 or SH_UNKNOWN + +# This was a separate question in CML1. +derive HD64465_PCMCIA from HD64465 & PCMCIA + +# End diff -uNr linux.2.4.14.pristine/arch/sparc/rules.cml linux/arch/sparc/rules.cml --- linux.2.4.14.pristine/arch/sparc/rules.cml Wed Dec 31 19:00:00 1969 +++ linux/arch/sparc/rules.cml Wed Nov 14 17:01:24 2001 @@ -0,0 +1,37 @@ +# SPARC32 port configuration + +# The CML1 for the Sparc 64 configuration asserted these rules +# for all Sun machines, but it looks like some of them are broken +# by SUN3X boxes. +# +require SPARC implies ISA==n and PCMCIA==n and VT==y and VT_CONSOLE==y + and BUSMOUSE==y and SUN_MOUSE==y and SERIAL==y and SERIAL_CONSOLE==y + and ISAPNP==n +derive SBUS from SPARC or SUN3X +derive SBUSCHAR from SPARC or SUN3X +derive SUN_SERIAL from SPARC or SUN3X +derive SUN_CONSOLE from SPARC +derive SUN_AUXIO from SPARC +derive SUN_IO from SPARC + +unless (SUN4==n) suppress sbus_misc sparcaudio + +unless SPARC32 suppress SUN4 +unless SPARC64 suppress SPARC32_COMPAT + +menu sparc # Sparc processor options + SUN4 + sbus_misc + sparcaudio + SUNOS_EMUL + SOLARIS_EMUL? + SPARC32_COMPAT {BINFMT_AOUT32} + +require (SPARC64 and PCI) implies + BLK_DEV_IDEPCI==y and IDEDMA_NEW_DRIVE_LISTINGS==y and + BLK_DEV_NS87415==y and BLK_DEV_CMD64X==y + # and BLK_DEV_IDEDMA==y + # and BLK_DEV_IDE_MODES==y + # and IDEDMA_AUTO==y + +# End diff -uNr linux.2.4.14.pristine/drivers/acpi/rules.cml linux/drivers/acpi/rules.cml --- linux.2.4.14.pristine/drivers/acpi/rules.cml Wed Dec 31 19:00:00 1969 +++ linux/drivers/acpi/rules.cml Wed Nov 14 17:01:24 2001 @@ -0,0 +1,27 @@ +# Power management support + +default PM from ACPI_KERNEL_CONFIG +default ACPI from ACPI_KERNEL_CONFIG + +#default ACPI_INTERPRETER from ACPI_KERNEL_CONFIG +#unless EXPERIMENTAL suppress dependent ACPI_INTERPRETER +derive ACPI_INTERPRETER from ACPI_KERNEL_CONFIG + +menu pm # Power management + PM { + ACPI { + ACPI_DEBUG + ACPI_BUSMGR? { + ACPI_SYS? ACPI_CPU? ACPI_BUTTON? + ACPI_AC? ACPI_EC? ACPI_CMBATT? ACPI_THERMAL? + } + } + APM? { + APM_IGNORE_USER_SUSPEND APM_DO_ENABLE APM_CPU_IDLE + APM_DISPLAY_BLANK # APM_IGNORE_MULTIPLE_SUSPEND + #APM_IGNORE_SUSPEND_BOUNCE + APM_RTC_IS_GMT APM_ALLOW_INTS + APM_REAL_MODE_POWER_OFF + } + } + diff -uNr linux.2.4.14.pristine/drivers/atm/rules.cml linux/drivers/atm/rules.cml --- linux.2.4.14.pristine/drivers/atm/rules.cml Wed Dec 31 19:00:00 1969 +++ linux/drivers/atm/rules.cml Wed Nov 14 17:01:24 2001 @@ -0,0 +1,61 @@ +# from drivers/atm/Config.in + +unless ATM suppress atm +unless INET suppress ATM_TCP +unless X86 suppress ATM_ZATM_EXACT_TS +unless PCI or SBUS suppress ATM_FORE200E_MAYBE +unless PCI suppress ATM_FORE200E_PCA +unless SBUS suppress ATM_FORE200E_SBA + +unless PCI suppress ATM_ENI # eni.c +unless PCI suppress ATM_ZATM # zatm.c +unless PCI suppress ATM_NICSTAR # nicstar.c +unless PCI suppress ATM_AMBASSADOR # ambassador.c; EISA version is + # not supported +unless PCI suppress ATM_HORIZON # horizon.c +unless PCI suppress ATM_IA # iphase.c + +unless EXPERIMENTAL suppress PPPOATM + +default ATM_FORE200E_DEBUG from 0 +default ATM_FORE200E_TX_RETRY from 16 +default ATM_FORE200E_SBA_FW from "" +default ATM_FORE200E_PCA_FW from "" + +menu atm # ATM drivers + ATM_TCP? ATM_LANAI? + ATM_ENI? { + ATM_ENI_DEBUG ATM_ENI_TUNE_BURST { + ATM_ENI_BURST_TX_16W ATM_ENI_BURST_TX_8W + ATM_ENI_BURST_TX_4W ATM_ENI_BURST_TX_2W + ATM_ENI_BURST_RX_16W ATM_ENI_BURST_RX_8W + ATM_ENI_BURST_RX_4W ATM_ENI_BURST_RX_2W + } + } + ATM_ZATM? {ATM_ZATM_DEBUG ATM_ZATM_EXACT_TS} + ATM_FIRESTREAM? + # ATM_TNETA1570 {ATM_TNETA1570_DEBUG} + ATM_NICSTAR? {ATM_NICSTAR_USE_SUNI ATM_NICSTAR_USE_IDT77105} + ATM_IDT77252? {ATM_IDT77252_RCV_ALL} + ATM_AMBASSADOR? {ATM_AMBASSADOR_DEBUG} + ATM_HORIZON? {ATM_HORIZON_DEBUG} + ATM_IA? {ATM_IA_DEBUG} + ATM_FORE200E_MAYBE? { + ATM_FORE200E_PCA {ATM_FORE200E_PCA_DEFAULT_FW} + ATM_FORE200E_PCA_FW$ + ATM_FORE200E_SBA {ATM_FORE200E_SBA_DEFAULT_FW} + ATM_FORE200E_SBA_FW$ + ATM_FORE200E_TX_RETRY% ATM_FORE200E_DEBUG% + } + PPPOATM? + +derive ATM_FORE200E from ATM & (ATM_FORE200E_MAYBE | m) + +unless ATM_FORE200E_PCA==n suppress ATM_FORE200E_PCA_FW +unless ATM_FORE200E_SBA==n suppress ATM_FORE200E_SBA_FW + +require (ATM_FORE200E_MAYBE!=n and PCI) implies ATM_FORE200E_PCA == y + +derive CONFIG_ATM_IDT77252_USE_SUNI from ATM_IDT77252_RCV_ALL + +# End diff -uNr linux.2.4.14.pristine/drivers/block/paride/rules.cml linux/drivers/block/paride/rules.cml --- linux.2.4.14.pristine/drivers/block/paride/rules.cml Wed Dec 31 19:00:00 1969 +++ linux/drivers/block/paride/rules.cml Wed Nov 14 17:01:24 2001 @@ -0,0 +1,20 @@ +# Parallel-port IDE configuration + +# The parallel-port IDE support (ppIDE) doesn't need PARPORT, but if PARPORT +# is configured as a module, ppIDE must also be a module. This rule replaces +# the bogus CONFIG_PARIDE_PARPORT option that controlled the choices +# given to the user in the old language. +prohibit (PARPORT==m) and (PARIDE==y) + +unless PARIDE_EPAT!=n and EXPERIMENTAL suppress PARIDE_EPATC8 + +menu paride_devices # Parallel-port IDE devices + # Parallel IDE high-level drivers + PARIDE_PD? PARIDE_PCD? PARIDE_PF? PARIDE_PT? PARIDE_PG? + # Parallel IDE protocol modules + PARIDE_ATEN? PARIDE_BPCK? PARIDE_BPCK6? PARIDE_COMM? PARIDE_DSTR? + PARIDE_FIT2? PARIDE_FIT3? PARIDE_EPAT? PARIDE_EPIA? PARIDE_FRIQ? + PARIDE_FRPW? PARIDE_KBIC? PARIDE_KTTI? PARIDE_ON20? PARIDE_ON26? + PARIDE_EPATC8 + +# End diff -uNr linux.2.4.14.pristine/drivers/block/rules.cml linux/drivers/block/rules.cml --- linux.2.4.14.pristine/drivers/block/rules.cml Wed Dec 31 19:00:00 1969 +++ linux/drivers/block/rules.cml Wed Nov 14 17:01:24 2001 @@ -0,0 +1,207 @@ +# Block device configuration + +unless DANGEROUS suppress WDC_ALI15X3 + +unless AMIGA suppress BLK_DEV_GAYLE +unless ATARI suppress BLK_DEV_FALCON_IDE ATARI_ACSI +unless ARCH_ACORN suppress BLK_DEV_IDE_ICSIDE BLK_DEV_IDE_RAPIDE +unless MAC and EXPERIMENTAL suppress BLK_DEV_SWIM_IOP BLK_DEV_MAC_IDE +unless PPC or ARM suppress BLK_DEV_SL82C105 +unless PPC suppress BLK_DEV_IDE_PMAC MAC_FLOPPY +unless X86 or IA64 suppress BLK_DEV_PIIX +unless X86 suppress BLK_DEV_HD_ONLY BLK_DEV_HD_IDE BLK_DEV_SIS5513 +unless CRIS suppress ide_reset ETRAX_IDE_DELAY +unless ARCH_ARCA5K suppress + BLK_DEV_FD1772 BLK_DEV_MFM BLK_DEV_MFM_AUTODETECT +unless ARCH_S390 suppress DASD BLK_DEV_XPRAM +unless ARCH_S390==n suppress BLK_DEV_FD PARIDE +unless ZORRO suppress BLK_DEV_BUDDHA AMIGA_Z2RAM +unless ISAPNP==y suppress BLK_DEV_ISAPNP +unless PCI suppress BLK_DEV_RZ1000 BLK_DEV_IDEPCI + BLK_CPQ_DA BLK_CPQ_CISS_DA BLK_DEV_DAC960 +unless MCA suppress BLK_DEV_PS2 +unless EXPERIMENTAL suppress dependent + IDEDMA_NEW_DRIVE_LISTINGS BLK_DEV_OPTI621 + BLK_DEV_PDC4030 BLK_DEV_BUDDHA +unless ISA suppress BLK_DEV_XD +unless MIPS suppress BLK_DEV_IT8172 +unless Q40 suppress BLK_DEV_Q40IDE + +# Correction from Colin Slater +unless CONFIG_8xx suppress BLK_DEV_MPC8xx_IDE +unless CONFIG_8xx suppress mpc8xxtype +unless BLK_DEV_MPC8xx_IDE suppress mpc8xxtype + +unless NET suppress dependent BLK_DEV_NBD +unless IDE!=n suppress dependent ide_blockdevs + +require DASD_ECKD <= DASD +require DASD_FBA <= DASD +#require DASD_CKD <= DASD +require DASD_DIAG <= DASD + +menu block_devices # Block devices + # Floppies + BLK_DEV_FD? BLK_DEV_SWIM_IOP BLK_DEV_FD1772? MAC_FLOPPY + ide_blockdevs + BLK_DEV_PS2! AMIGA_Z2RAM! + ATARI_ACSI! {ACSI_MULTI_LUN ATARI_SLM!} # Atari + BLK_CPQ_DA! BLK_CPQ_CISS_DA! + BLK_DEV_MFM! {BLK_DEV_MFM_AUTODETECT} # Acorn + add_block_devices + DASD? { + DASD_ECKD? {DASD_AUTO_ECKD} + DASD_FBA? {DASD_AUTO_FBA} + # DASD_CKD? + DASD_DIAG? {DASD_AUTO_DIAG} + } + +# Normally, in a stock Linux tree, we suppress the vendor-specific menu. +# Comment out this line if your source tree includes the right stuff... +derive BLK_DEV_IDEDISK_VENDOR from n +derive BLK_DEV_COMMERIAL from n + +unless BLK_DEV_IDEDISK_VENDOR suppress ide_vendorhooks + +default ETRAX_IDE_DELAY from 15 + +menu ide_blockdevs # IDE block devices + BLK_DEV_IDE! + BLK_DEV_HD_ONLY + ide_options + ide_chipsets + ide_reset # See the cris rulesfile + ETRAX_IDE_DELAY% # Only used on CRIS port, so far + IDE_CHIPSETS {other_ide_chipsets} + BLK_DEV_IDE_PMAC {BLK_DEV_IDEDMA_PMAC {BLK_DEV_IDEDMA_PMAC_AUTO}} # Mac + BLK_DEV_IDE_ICSIDE {BLK_DEV_IDEDMA_ICS {IDEDMA_ICS_AUTO}} + IDEDMA_IVB + BLK_DEV_IDE_RAPIDE + BLK_DEV_GAYLE {BLK_DEV_IDEDOUBLER} + BLK_DEV_BUDDHA BLK_DEV_FALCON_IDE BLK_DEV_MAC_IDE + BLK_DEV_Q40IDE # Q40 + BLK_DEV_MPC8xx_IDE {mpc8xxtype} # PPC + ide_vendorhooks + +choices mpc8xxtype # Type of MPC8xx IDE interface + IDE_8xx_PCCARD IDE_8xx_DIRECT IDE_EXT_DIRECT + default IDE_8xx_PCCARD + +unless BLK_DEV_COMMERIAL==n suppress BLK_DEV_TIVO + +menu ide_vendorhooks # IDE vendor-specific hooks + BLK_DEV_IDEDISK_FUJITSU + BLK_DEV_IDEDISK_IBM + BLK_DEV_IDEDISK_MAXTOR + BLK_DEV_IDEDISK_QUANTUM + BLK_DEV_IDEDISK_SEAGATE + BLK_DEV_IDEDISK_WD + BLK_DEV_TIVO + +derive DMA_NONPCI from BLK_DEV_TIVO + +menu ide_options # IDE options -- see Documentation/ide.txt for help/info + BLK_DEV_HD_IDE + BLK_DEV_IDEDISK! {IDEDISK_MULTI_MODE} + BLK_DEV_IDECS! + BLK_DEV_IDECD! + BLK_DEV_IDETAPE! + BLK_DEV_IDEFLOPPY! + BLK_DEV_IDESCSI! + +menu ide_chipsets # IDE chipset support/bugfixes + BLK_DEV_CMD640 {BLK_DEV_CMD640_ENHANCED} + BLK_DEV_ISAPNP + BLK_DEV_RZ1000 + BLK_DEV_IDEPCI { + IDEPCI_SHARE_IRQ + BLK_DEV_IDEDMA_PCI { + IDEDMA_PCI_AUTO + IDEDMA_NEW_DRIVE_LISTINGS + IDEDMA_PCI_WIP + BLK_DEV_ALI15X3 {WDC_ALI15X3} + BLK_DEV_AMD74XX {AMD74XX_OVERRIDE} + BLK_DEV_HPT34X {HPT34X_AUTODMA} + BLK_DEV_HPT366 + BLK_DEV_PIIX {PIIX_TUNING} + BLK_DEV_IT8172 {IT8172_TUNING} + BLK_DEV_NS87415 + BLK_DEV_PDC202XX {PDC202XX_BURST PDC202XX_FORCE} + BLK_DEV_SVWKS + BLK_DEV_SIS5513 + BLK_DEV_SLC90E66 + BLK_DEV_TRM290 + BLK_DEV_VIA82CXXX + } + BLK_DEV_OFFBOARD + BLK_DEV_AEC62XX {AEC62XX_TUNING} + BLK_DEV_CMD64X + BLK_DEV_CY82C693 + BLK_DEV_CS5530 + BLK_DEV_OPTI621 + BLK_DEV_SL82C105 + } + +derive BLK_DEV_ADMA from BLK_DEV_IDEDMA_PCI + +# Other chipset dependencies +unless EXPERIMENTAL suppress + IDEDMA_PCI_WIP BLK_DEV_NS87415 BLK_DEV_TRM290 +unless IDEDMA_PCI_WIP suppress AMD74XX_OVERRIDE HPT34X_AUTODMA +unless IDEDMA_PCI_AUTO suppress PIIX_TUNING + +menu other_ide_chipsets # Other IDE chipset support (most need boot parameters) + BLK_DEV_4DRIVES BLK_DEV_ALI14XX BLK_DEV_DTC2278 BLK_DEV_HT6560B + BLK_DEV_PDC4030 BLK_DEV_QD65XX BLK_DEV_UMC8672 + +default BLK_DEV_RAM_SIZE from 24576 + +menu add_block_devices # Additional block devices + BLK_DEV_LOOP? + BLK_DEV_NBD? + MD { + BLK_DEV_MD? {MD_LINEAR? MD_RAID0? MD_RAID1? MD_RAID5?} + MD_MULTIPATH? BLK_DEV_LVM? + BLK_DEV_ATARAID? {BLK_DEV_ATARAID_PDC? BLK_DEV_ATARAID_HPT?} + } + BLK_DEV_DAC960? + BLK_DEV_RAM? {BLK_DEV_RAM_SIZE% {BLK_DEV_INITRD}} + BLK_DEV_XPRAM? + BLK_DEV_XD? + PARIDE? {paride_devices} + +unless EXPERIMENTAL and BLK_DEV_IDE!=n suppress BLK_DEV_ATARAID +unless BLK_DEV_IDE==n suppress BLK_DEV_HD_ONLY +unless BLK_DEV_IDE!=n suppress ide_options ide_chipsets other_ide_chipsets +unless BLK_DEV_IDEDISK==y suppress IDEDISK_MULTI_MODE BLK_DEV_PDC4030 + + +unless BLK_DEV_IDE!=n suppress BLK_DEV_IDE_PMAC BLK_DEV_IDE_ICSIDE + +require BLK_DEV_IDEDISK <= BLK_DEV_IDE +require BLK_DEV_IDECS <= BLK_DEV_IDE and BLK_DEV_IDECS <= PCMCIA +require BLK_DEV_IDECD <= BLK_DEV_IDE +require BLK_DEV_IDETAPE <= BLK_DEV_IDE +require BLK_DEV_IDEFLOPPY <= BLK_DEV_IDE +require BLK_DEV_IDESCSI <= BLK_DEV_IDE + +derive BLK_DEV_IDEDMA from BLK_DEV_IDEDMA_PCI or + BLK_DEV_IDEDMA_PMAC or BLK_DEV_IDEDMA_ICS or + (SPARC64 and PCI) +derive IDEDMA_AUTO from IDEDMA_PCI_AUTO or BLK_DEV_IDEDMA_PMAC_AUTO or IDEDMA_ICS_AUTO + or (SPARC64 and PCI) + +derive BLK_DEV_IDE_MODES from + IDE_CHIPSETS or BLK_DEV_AEC62XX or BLK_DEV_ALI15X3 or + BLK_DEV_AMD74XX or BLK_DEV_CMD640 or BLK_DEV_CMD64X or + BLK_DEV_CS5530 or BLK_DEV_CY82C693 or BLK_DEV_HPT34X or + BLK_DEV_HPT366 or BLK_DEV_IDE_PMAC or BLK_DEV_OPTI621 or + BLK_DEV_SVWKS or BLK_DEV_PDC202XX or BLK_DEV_PIIX or + BLK_DEV_SIS5513 or BLK_DEV_SLC90E66 or BLK_DEV_SL82C105 or + BLK_DEV_MPC8xx_IDE or (SPARC64 and PCI) +derive BLK_DEV_HD from BLK_DEV_HD_IDE or BLK_DEV_HD_ONLY + +unless BLK_DEV_IDEDMA_PCI or BLK_DEV_IDEDMA_PMAC or BLK_DEV_IDEDMA_ICS + suppress IDEDMA_IVB + +# End diff -uNr linux.2.4.14.pristine/drivers/bluetooth/rules.cml linux/drivers/bluetooth/rules.cml --- linux.2.4.14.pristine/drivers/bluetooth/rules.cml Wed Dec 31 19:00:00 1969 +++ linux/drivers/bluetooth/rules.cml Wed Nov 14 17:01:24 2001 @@ -0,0 +1,6 @@ +# Bluetooth driver configuration (see also net/bluetooth.cml) + +menu bluetooth_drivers + BLUEZ_HCIUSB? BLUEZ_HCIUART? BLUEZ_HCIVHCI? + +# end diff -uNr linux.2.4.14.pristine/drivers/cdrom/rules.cml linux/drivers/cdrom/rules.cml --- linux.2.4.14.pristine/drivers/cdrom/rules.cml Wed Dec 31 19:00:00 1969 +++ linux/drivers/cdrom/rules.cml Wed Nov 14 17:01:24 2001 @@ -0,0 +1,13 @@ +# from drivers/cdrom/Config.in: + +default MCD_BASE from 0x300 +default MCD_IRQ from 11 + +menu nativecdrom + AZTCD? GSCD? SBPCD? {SBPCD2 {SBPCD3 {SBPCD4}}} + MCD? {MCD_IRQ% MCD_BASE@} + MCDX? OPTCD? CM206? SJCD? ISP16_CDI? CDU31A? CDU535? + +unless SBPCD==y suppress SBPCD2 +unless MCD==y suppress MCD_IRQ MCD_BASE + diff -uNr linux.2.4.14.pristine/drivers/char/ftape/rules.cml linux/drivers/char/ftape/rules.cml --- linux.2.4.14.pristine/drivers/char/ftape/rules.cml Wed Dec 31 19:00:00 1969 +++ linux/drivers/char/ftape/rules.cml Wed Nov 14 17:01:24 2001 @@ -0,0 +1,42 @@ +# Tape configuration + +# From drivers/char/Config.in and drivers/char/ftape/Config.in, continued + +default FT_ALPHA_CLOCK from 0 + +#unless OBSOLETE suppress qic +unless WIZARD and QIC02_TAPE!=n suppress QIC02_DYNCONF +unless EXPERIMENTAL suppress dependent FT_NR_BUFFERS FT_FDC_THR FT_FDC_MAX_RATE +unless ALPHA suppress FT_ALPHA_CLOCK + +default FT_FDC_IRQ from 0 range 0-15 +default FT_FDC_DMA from 0 range 0-5 +default FT_FDC_BASE from 0 +default FT_FDC_MAX_RATE from 2000 +default FT_FDC_THR from 8 +default FT_NR_BUFFERS from 3 +default ZFT_DFLT_BLK_SZ from 10240 + +menu qic # QIC tape support + QIC02_TAPE? QIC02_DYNCONF + FTAPE? {ZFTAPE? {ZFT_DFLT_BLK_SZ%}} + FT_NR_BUFFERS% FT_PROC_FS ftdebug + # Floppy tape hardware configuration + ftcontroller + FT_FDC_BASE@ FT_FDC_IRQ% FT_FDC_DMA% + FT_FDC_THR% FT_FDC_MAX_RATE% FT_ALPHA_CLOCK% + +choices ftdebug # Floppy tape debugging output level + FT_NORMAL_DEBUG FT_FULL_DEBUG FT_NO_TRACE FT_NO_TRACE_AT_ALL + default FT_NORMAL_DEBUG + +choices ftcontroller # Floppy tape controller + FT_STD_FDC FT_MACH2 FT_PROBE_FC10 FT_ALT_FDC + default FT_STD_FDC + +derive ZFT_COMPRESSOR from m & (m | ZFTAPE) +unless FT_STD_FDC suppress FT_FDC_BASE FT_FDC_IRQ FT_FDC_DMA + +require FT_PROC_FS implies PROC_FS == y + +# End diff -uNr linux.2.4.14.pristine/drivers/char/joystick/rules.cml linux/drivers/char/joystick/rules.cml --- linux.2.4.14.pristine/drivers/char/joystick/rules.cml Wed Dec 31 19:00:00 1969 +++ linux/drivers/char/joystick/rules.cml Wed Nov 14 17:01:24 2001 @@ -0,0 +1,31 @@ +# Joysticks + +unless PARPORT!=n suppress INPUT_GAMECON INPUT_DB9 INPUT_TURBOGRAFX +unless AMIGA suppress INPUT_AMIJOY + +menu joysticks # Joystick support + gameports_legend + INPUT_NS558? INPUT_LIGHTNING? INPUT_PCIGAME? INPUT_CS461X? + INPUT_EMU10K1? + port_joystick_legend + INPUT_ANALOG? INPUT_A3D? + INPUT_ADI? INPUT_COBRA? INPUT_GF2K? + INPUT_GRIP? INPUT_INTERACT? INPUT_TMDC? INPUT_SIDEWINDER? + serial_support_legend + INPUT_SERIO? {INPUT_SERPORT?} + serial_joystick_legend + INPUT_WARRIOR? INPUT_MAGELLAN? INPUT_SPACEORB? INPUT_SPACEBALL? + INPUT_STINGER? INPUT_IFORCE_232? INPUT_IFORCE_USB? + parallel_joystick_legend + INPUT_DB9? INPUT_GAMECON? INPUT_TURBOGRAFX? + system_joystick_legend + INPUT_AMIJOY? + +# Must explicitly set to n for drivers/sound/Config.in +derive INPUT_GAMEPORT from JOYSTICK + +require INPUT_IFORCE_USB <= USB +require INPUT_IFORCE_USB <= INPUT +require INPUT_IFORCE_USB <= INPUT_IFORCE_232 + +# End diff -uNr linux.2.4.14.pristine/drivers/char/pcmcia/rules.cml linux/drivers/char/pcmcia/rules.cml --- linux.2.4.14.pristine/drivers/char/pcmcia/rules.cml Wed Dec 31 19:00:00 1969 +++ linux/drivers/char/pcmcia/rules.cml Wed Nov 14 17:01:24 2001 @@ -0,0 +1,11 @@ +# PCMCIA character-device configuration + +unless PCMCIA!=n and SERIAL!=n suppress dependent pcmcia_chardevs +#unless CARDBUS!=n suppress PCMCIA_SERIAL_CB + +menu pcmcia_chardevs # PCMCIA? character device support + PCMCIA_SERIAL_CS? + +derive PCMCIA_CHRDEV from PCMCIA_SERIAL_CS + +# End diff -uNr linux.2.4.14.pristine/drivers/char/rules.cml linux/drivers/char/rules.cml --- linux.2.4.14.pristine/drivers/char/rules.cml Wed Dec 31 19:00:00 1969 +++ linux/drivers/char/rules.cml Wed Nov 14 17:01:24 2001 @@ -0,0 +1,219 @@ +# Character device configuration + +# Console support + +unless X86 or SUPERH or IA64 suppress VIDEO_SELECT MDA_CONSOLE +unless X86 or (ALPHA and VT) + or (MIPS and VT and (SGI_IP22==n)) + or (ALL_PPC and VT) + or (ARM and ARCH_ACORN and ARCH_EBSA110) + suppress VGA_CONSOLE +unless SPARC or SUN3X suppress PROM_CONSOLE +unless SGI_IP22 suppress SGI_PROM_CONSOLE SGI_NEWPORT_CONSOLE +unless ARCH_S390==n suppress INPUT +unless MIPS suppress SGI_NEWPORT_GFX +unless (X86 and VT) or (MIPS and VT and (SGI_IP22==n) and (DECSTATION==n)) + or (ALPHA and VT) or (PPC and VT) + suppress FB +unless PARISC suppress STI_CONSOLE +unless CONFIG_8xx suppress CONFIG_SMC2_UART CONFIG_USE_SCC_IO +unless ALL_PPC suppress MAC_SERIAL +unless ARCH_S390 suppress TN3270 TN3215 +#unless SUN3X_ZS suppress SUN_KEYBOARD +unless CPU_LITTLE_ENDIAN suppress FORWARD_KEYBOARD +unless ARC32 suppress ARC_CONSOLE + +unless VT suppress VGA_CONSOLE + +menu console # Console drivers + VGA_CONSOLE VIDEO_SELECT MDA_CONSOLE? STI_CONSOLE + PROM_CONSOLE SGI_PROM_CONSOLE SGI_NEWPORT_CONSOLE! SGI_NEWPORT_GFX! + TN3270? {TN3270_CONSOLE} # S/390 + TN3215 {TN3215_CONSOLE} # S/390 + HWC {HWC_CONSOLE HWC_CPI?} # S/390 + #SUN_KEYBOARD + FORWARD_KEYBOARD ARC_CONSOLE + FB {framebuffer} + +# According to Helge Deller's STI-console mini-HOWTO... +require STI_CONSOLE==n or SERIAL_CONSOLE==n + +default FB from M68K + +# Serial devices + +unless EXPERIMENTAL suppress dependent CYZ_INTR ISI ATARI_DSP56K +unless EXPERT suppress SERIAL_EXTENDED SERIAL_NONSTANDARD + +unless ARCH_ACORN and SERIAL!=n suppress ATOMWIDE_SERIAL DUALSP_SERIAL +unless MIPS32 suppress DZ +unless MIPS32 and TC suppress ZS +unless ATARI suppress ATARI_MFPSER ATARI_SCC ATARI_MIDI ATARI_DSP56K +unless AMIGA suppress AMIGA_BUILTIN_SERIAL +unless AMIGA_PCMCIA suppress WHIPPET_SERIAL +unless MIPS suppress SGI_SERIAL +unless SUN3 or SUN3X suppress SUN3X_ZS +#unless M68K suppress USERIAL +unless SUPERH suppress SH_SCI +unless FOOTBRIDGE suppress SERIAL_21285 +unless HP300 and DIO suppress HPDCA +unless SPARC64 and SBUS suppress SAB82532 +unless ISA or PCI suppress RIO +unless MIPS suppress SERIAL_TX3912 AU1000_UART +unless IT8712 suppress QTRONIX_KEYBOARD IT8172_SCR0 IT8172_SCR1 +unless EXPERIMENTAL and ZORRO suppress A2232 + +unless DIGIEPCA==n suppress DIGI +#require RIO or SX implies GENERIC_SERIAL == (RIO | SX) +require ISI <= m +require SYNCLINK <= m +require N_HDLC <= m + +private SERIAL_NONSTANDARD SERIAL_EXTENDED DONGLE + +menu rs232c # RS-232 serial devices + ATOMWIDE_SERIAL? DUALSP_SERIAL? SERIAL_ACPI + SERIAL_EXTENDED { + SERIAL_MANY_PORTS SERIAL_SHARE_IRQ + SERIAL_DETECT_IRQ SERIAL_MULTIPORT HUB6 + } + SERIAL_NONSTANDARD { + COMPUTONE? ROCKETPORT? + CYCLADES? {CYZ_INTR} + DIGIEPCA? DIGI? ESPSERIAL? MOXA_INTELLIO? MOXA_SMARTIO? + ISI? SYNCLINK? N_HDLC? RISCOM8? + SPECIALIX? {SPECIALIX_RTSCTS} + SX? STALDRV + RIO? {RIO_OLDPCI} + STALLION? ISTALLION? + SERIAL_TX3912 {SERIAL_TX3912_CONSOLE} + AU1000_UART {AU1000_SERIAL_CONSOLE} + } + SMC2_UART {ALTSMC2 CONS_SMC2} # CONFIG_8xx + USE_SCC_IO # CONFIG_8xx + SUN3X_ZS # Sun3X + MAC_SERIAL? # PowerMac Serial + SERIAL167 # VME + DZ ZS SGI_SERIAL # MIPS only + ATARI_MFPSER? ATARI_SCC? {ATARI_SCC_DMA} # ATARI + ATARI_MIDI? ATARI_DSP56K? + AMIGA_BUILTIN_SERIAL? WHIPPET_SERIAL? A2232? # AMIGA + #USERIAL # MAC + SERIAL_21285 { + SERIAL_21285_CONSOLE SERIAL_21285_OLD + } + HPDCA? # M68K + SAB82532? # Sun Ultra + +# Miscellaneous character devices + +# http://www.rcsys.com/dt.htm (Apple II3 and IIgs and PC104 versions too, +# but this driver looks like it supports ISA only) +unless ISA suppress DTLK + +# PC104 too, but see http://us.applicom-int.com/us/applicom_en/applicom_en.html +unless ISA or PCI suppress APPLICOM + +unless X86 and EXPERIMENTAL suppress SONYPI + +menu char_devs_misc # Miscellaneous character devices + DTLK? R3964? APPLICOM? SONYPI? + +# Character device selection + +unless ARCH_S390 suppress S390_TAPE +unless ARCH_S390==n suppress + VT SERIAL I2C graphics char_devs_misc MOUSE JOYSTICK qic DONGLE +unless TN3270==n suppress TN3215 +unless TN3270==y suppress TN3270_CONSOLE +unless IRDA!=n suppress dependent DONGLE +unless X86 suppress MWAVE + +# The nasty part of this expression is a direct translation of the CML1 +# The structure of the port file suggests that it's not really necessary. +#unless (M68K==n) or APOLLO or (AMIGA or ATARI or MAC or HP300 or SUN3 +# or SUN3X) and +# (ATARI_MFPSER or ATARI_SCC or ATARI_MIDI or MAC_SCC +# or AMIGA_BUILTIN_SERIAL or GVPIOEXT +# or MULTIFACE_III_TTY or HPDCA or SUN3X_ZS or SGI) +# suppress SERIAL_CONSOLE +unless (CONFIG_SMC2_UART or MAC_SERIAL==y or SERIAL==y) suppress SERIAL_CONSOLE + +unless PARPORT!=n suppress dependent PRINTER LP_CONSOLE PPDEV + +default UNIX98_PTY_COUNT from 256 range 0-2048 + +menu cdevs # Character devices + VT {VT_CONSOLE} + SERIAL? {rs232c} + UNIX98_PTYS {UNIX98_PTY_COUNT%} + SH_SCI? # SuperH + console + SERIAL_CONSOLE + INPUT? {input} + pcmcia_chardevs + I2C? {i2c} + VIDEO_DEV? {video radio} + graphics + char_devs_misc + PRINTER? {LP_CONSOLE} + PPDEV? + MOUSE? {mice} + JOYSTICK? {joysticks} + qic + S390_TAPE? { + S390_TAPE_CHAR S390_TAPE_BLOCK S390_TAPE_3490 S390_TAPE_3480 + } + DONGLE {dongles} + MWAVE? + +unless EXPERIMENTAL suppress dependent AGP +unless PCI suppress AGP # agp source files include pci.h +unless PCI suppress DRM_TDFX # From tdfxfb.c +unless SPARC suppress DRM_FFB + +# Graphics + +menu graphics # Kernel-level graphics support + AGP? { + AGP_INTEL AGP_I810 AGP_VIA AGP_AMD AGP_SIS AGP_ALI AGP_SWORKS + } + DRM { + DRM_TDFX? DRM_GAMMA? DRM_R128? DRM_FFB? DRM_RADEON? + DRM_I810? DRM_MGA? + } +unless AGP!=n suppress dependent DRM_I810 DRM_MGA + +# Watchdog cards + +unless X86 suppress WDT PCWATCHDOG ACQUIRE_WDT +unless PCI suppress WDTPCI +unless SPARC64 and PCI suppress WATCHDOG_CP1XXX WATCHDOG_RIO +unless FOOTBRIDGE suppress CONFIG_21285_WATCHDOG +unless FOOTBRIDGE and ARCH_NETWINDER suppress CONFIG_977_WATCHDOG + +menu watchdog # Watchdog cards + SOFT_WATCHDOG? WATCHDOG_NOWAYOUT + WDT? {WDT_501 {WDT_501_FAN}} WDTPCI? + PCWATCHDOG? ACQUIRE_WDT? ADVANTECH_WDT? CONFIG_21285_WATCHDOG? + EUROTECH_WDT? IB700_WDT? I810_TCO? CONFIG_60XX_WDT? W83877F_WDT? + MIXCOMWD? CONFIG_977_WATCHDOG? MACHZ_WDT? + WATCHDOG_CP1XXX? WATCHDOG_RIO? + +# Mice + +unless AMIGA suppress AMIGAMOUSE +unless ATARI suppress ATARIMOUSE +#unless SUN3X_ZS suppress SUN_MOUSE + +menu mice # Mice + BUSMOUSE? {ATIXL_BUSMOUSE? LOGIBUSMOUSE? MS_BUSMOUSE? ADBMOUSE?} + AMIGAMOUSE? ATARIMOUSE? #SUN_MOUSE + PSMOUSE CONFIG_82C710_MOUSE? PC110_PAD? + +require (AMIGA and (AMIGAMOUSE==n)) implies BUSMOUSE == y +require (ATARI and (ATARIMOUSE==n)) implies BUSMOUSE == y +require (SUN3X and (SUN_MOUSE==n)) implies BUSMOUSE == y +require ADBMOUSE <= ADB_KEYBOARD + +# End diff -uNr linux.2.4.14.pristine/drivers/fc4/rules.cml linux/drivers/fc4/rules.cml --- linux.2.4.14.pristine/drivers/fc4/rules.cml Wed Dec 31 19:00:00 1969 +++ linux/drivers/fc4/rules.cml Wed Nov 14 17:01:24 2001 @@ -0,0 +1,20 @@ +# from drivers/fc4/Config.in + +menu fc4 # Fiber Channel support + fc4_drivers_legend + FC4_SOC? FC4_SOCAL? + fc4_targets_legend + SCSI_PLUTO? SCSI_FCAL_SUN? SCSI_FCAL_GENERIC? + +unless SCSI!=n suppress dependent + fc4_targets_legend SCSI_PLUTO SCSI_FCAL_GENERIC SCSI_FCAL_SUN + +derive SCSI_FCAL from SCSI_FCAL_GENERIC | SCSI_FCAL_SUN +private SCSI_FCAL_GENERIC SCSI_FCAL_SUN + +default FC4_SOC from n +default FC4_SOCAL from n +default SCSI_PLUTO from n +default SCSI_FCAL_GENERIC from n +default SCSI_FCAL_SUN from n + diff -uNr linux.2.4.14.pristine/drivers/hotplug/rules.cml linux/drivers/hotplug/rules.cml --- linux.2.4.14.pristine/drivers/hotplug/rules.cml Wed Dec 31 19:00:00 1969 +++ linux/drivers/hotplug/rules.cml Wed Nov 14 17:01:24 2001 @@ -0,0 +1,9 @@ +# Hotplug devices + +unless EXPERIMENTAL suppress CONFIG_HOTPLUG_PCI +unless X86 suppress hotplug_pci + +menu hotplug_pci # Support for PCI Hotplug + HOTPLUG_PCI_COMPAQ {HOTPLUG_PCI_COMPAQ_NVRAM} + +#end diff -uNr linux.2.4.14.pristine/drivers/i2c/rules.cml linux/drivers/i2c/rules.cml --- linux.2.4.14.pristine/drivers/i2c/rules.cml Wed Dec 31 19:00:00 1969 +++ linux/drivers/i2c/rules.cml Wed Nov 14 17:01:24 2001 @@ -0,0 +1,19 @@ +# I2C driver configuration + +unless PARPORT!=n suppress dependent I2C_PHILIPSPAR +unless SPARC64 suppress BBC_I2C +unless (M68K or ALL_PPC) suppress ADBMOUSE +unless MIPS_ITE8172 suppress dependent ITE_I2C_ALGO +unless CONFIG_8xx suppress dependent I2C_ALGO8XX +unless CONFIG_405 suppress dependent I2C_PPC405_ALGO + +menu i2c # I2C? support + BBC_I2C? + I2C_ALGOBIT? {I2C_PHILIPSPAR? I2C_ELV? I2C_VELLEMAN?} + I2C_ALGOPCF? {I2C_ELEKTOR?} I2C_CHARDEV? + ITE_I2C_ALGO? {ITE_I2C_ADAP?} + I2C_ALGO8XX? {I2C_RPXLITE?} + I2C_PPC405_ALGO? {I2C_PPC405_ADAP?} + I2C_PROC? + +# End diff -uNr linux.2.4.14.pristine/drivers/ieee1394/rules.cml linux/drivers/ieee1394/rules.cml --- linux.2.4.14.pristine/drivers/ieee1394/rules.cml Wed Dec 31 19:00:00 1969 +++ linux/drivers/ieee1394/rules.cml Wed Nov 14 17:01:24 2001 @@ -0,0 +1,12 @@ +# from drivers/ieee1394/Config.in + +unless EXPERIMENTAL and PCI suppress ieee1394 + +menu ieee1394 # IEEE 1394 (FireWire) support + IEEE1394_PCILYNX? { IEEE1394_PCILYNX_LOCALRAM IEEE1394_PCILYNX_PORTS } + #IEEE1394_AIC5800? + IEEE1394_OHCI1394? { IEEE1394_VIDEO1394? } + IEEE1394_SBP2? + IEEE1394_RAWIO? + IEEE1394_VERBOSEDEBUG + diff -uNr linux.2.4.14.pristine/drivers/input/rules.cml linux/drivers/input/rules.cml --- linux.2.4.14.pristine/drivers/input/rules.cml Wed Dec 31 19:00:00 1969 +++ linux/drivers/input/rules.cml Wed Nov 14 17:01:24 2001 @@ -0,0 +1,15 @@ +# Input core configuration + +menu input + INPUT_KEYBDEV? + INPUT_MOUSEDEV? {INPUT_MOUSEDEV_SCREEN_X% INPUT_MOUSEDEV_SCREEN_Y%} + INPUT_JOYDEV? INPUT_EVDEV? + +unless NET suppress I2O_LAN +unless SCSI!=n suppress I2O_SCSI +unless PCI suppress I2O_PCI + +menu i2o # I2O? support + I2O_PCI? I2O_BLOCK? I2O_LAN? I2O_SCSI? I2O_PROC? + +# End diff -uNr linux.2.4.14.pristine/drivers/isdn/rules.cml linux/drivers/isdn/rules.cml --- linux.2.4.14.pristine/drivers/isdn/rules.cml Wed Dec 31 19:00:00 1969 +++ linux/drivers/isdn/rules.cml Wed Nov 14 17:01:24 2001 @@ -0,0 +1,77 @@ +# ISDN support + +unless ISDN!=n suppress isdn +unless INET suppress ISDN_PPP +unless X25!=n suppress dependent ISDN_X25 +unless EXPERIMENTAL suppress dependent + HISAX_HFC_SX ISDN_DRV_PCBIT ISDN_DRV_ACT2000 + ISDN_CAPI_MIDDLEWARE ISDN_DRV_AVMB1_B1PCIV4 ISDN_DRV_AVMB1_C4 +unless SPARC suppress HISAX_AMD7930 +unless MODULES!=n suppress HYSDN +unless ISDN_CAPI==n suppress HYSDN_CAPI +unless ISA suppress ISDN_DRV_EICON_ISA +unless PCI!=n suppress ISDN_DRV_EICON_PCI +unless EXPERIMENTAL and PCI==n suppress ISDN_DRV_EICON_DIVAS +unless PCMCIA!=n suppress HISAX_SEDLBAUER_CS +unless PCI suppress ISDN_DRV_TPAM +unless EXPERIMENTAL suppress HISAX_ST5481 + +require HYSDN != n implies PROC_FS == y + +menu isdn + ISDN_PPP {ISDN_PPP_VJ ISDN_MPP ISDN_PPP_BSDCOMP?} + ISDN_AUDIO {ISDN_TTY_FAX} + ISDN_X25 + isdn_features_legend ISDN_DRV_LOOP? ISDN_DIVERSION? + isdn_passive isdn_active + +menu isdn_passive + ISDN_DRV_HISAX? { + isdn_dchannel_legend + HISAX_EURO { + DE_AOC HISAX_NO_SENDCOMPLETE HISAX_NO_LLC + HISAX_NO_KEYPAD + } + HISAX_1TR6 HISAX_NI1 + isdn_hisax_legend + HISAX_16_0 HISAX_16_3 HISAX_TELESPCI HISAX_S0BOX HISAX_AVM_A1 + HISAX_FRITZPCI HISAX_AVM_A1_PCMCIA HISAX_ELSA + HISAX_IX1MICROR2 HISAX_DIEHLDIVA HISAX_ASUSCOM HISAX_TELEINT + HISAX_HFCS HISAX_SEDLBAUER HISAX_ELSA_CS? + HISAX_SPORTSTER HISAX_MIC + HISAX_NETJET HISAX_NETJET_U HISAX_NICCY HISAX_ISURF + HISAX_HSTSAPHIR HISAX_BKM_A4T HISAX_SCT_QUADRO HISAX_GAZEL + HISAX_HFC_PCI HISAX_W6692 HISAX_HFC_SX # HISAX_TESTEMU + HISAX_AMD7930 HISAX_ST5481? + HISAX_DEBUG + } + HISAX_SEDLBAUER_CS? + +unless ISDN_DRV_EICON_OLD==y suppress ISDN_DRV_EICON_DIVAS + +unless ISDN_CAPI_CAPI20!=n suppress dependent ISDN_CAPI_CAPIFS + +menu isdn_active + ISDN_DRV_ICN? ISDN_DRV_PCBIT? ISDN_DRV_SC? ISDN_DRV_ACT2000? + ISDN_DRV_EICON { + ISDN_DRV_EICON_OLD? {ISDN_DRV_EICON_PCI} + ISDN_DRV_EICON_DIVAS? + ISDN_DRV_EICON_ISA + } + ISDN_DRV_TPAM? + ISDN_CAPI? { + ISDN_DRV_AVMB1_VERBOSE_REASON ISDN_CAPI_CAPI20? + ISDN_CAPI_MIDDLEWARE {ISDN_CAPI_CAPIFS} + ISDN_CAPI_CAPIDRV? + ISDN_DRV_AVMB1_B1ISA? + ISDN_DRV_AVMB1_B1PCI? {ISDN_DRV_AVMB1_B1PCIV4} + ISDN_DRV_AVMB1_T1ISA? ISDN_DRV_AVMB1_B1PCMCIA? + ISDN_DRV_AVMB1_AVM_CS? ISDN_DRV_AVMB1_T1PCI? ISDN_DRV_AVMB1_C4? + } + HYSDN? {HYSDN_CAPI} + +derive ISDN_CAPI_CAPIFS_BOOL from ISDN_CAPI_CAPI20!=n and ISDN_CAPI_MIDDLEWARE + +require (ISDN_DRV_EICON_OLD==n) or (ISDN_DRV_EICON_DIVAS==n) + +# End Binary files linux.2.4.14.pristine/drivers/isdn/rules.cml-old and linux/drivers/isdn/rules.cml-old differ diff -uNr linux.2.4.14.pristine/drivers/macintosh/rules.cml linux/drivers/macintosh/rules.cml --- linux.2.4.14.pristine/drivers/macintosh/rules.cml Wed Dec 31 19:00:00 1969 +++ linux/drivers/macintosh/rules.cml Wed Nov 14 17:01:24 2001 @@ -0,0 +1,20 @@ +# Macintosh driver configuration + +unless MACINTOSH_DRIVERS suppress macintosh_drivers +unless ALL_PPC suppress ADB_MACIO ADB_PMU +unless MAC suppress ADB_MACII ADB_MACIISI ADB_IOP ADB_PMU68K + +menu macintosh_drivers + ADB {ADB_MACIO ADB_MACII ADB_MACIISI ADB_IOP ADB_PMU68K + INPUT_ADBHID {MAC_ADBKEYCODES MAC_EMUMOUSEBTN} + ADB_KEYBOARD + } + # Not just ADB support, but other things the chipset does. + ADB_CUDA ADB_PMU {PMAC_PBOOK PMAC_BACKLIGHT} + +require INPUT_ADBHID <= INPUT + +# You can only have one of these. +require INPUT_ADBHID==n or ADB_KEYBOARD==n + +# End diff -uNr linux.2.4.14.pristine/drivers/media/radio/rules.cml linux/drivers/media/radio/rules.cml --- linux.2.4.14.pristine/drivers/media/radio/rules.cml Wed Dec 31 19:00:00 1969 +++ linux/drivers/media/radio/rules.cml Wed Nov 14 17:01:24 2001 @@ -0,0 +1,36 @@ +# Radio card drivers + +unless EXPERIMENTAL suppress RADIO_MIROPCM20_RDS +unless SOUND_ACI_MIXER!=n suppress dependent RADIO_MIROPCM20 + +default RADIO_AZTECH_PORT from 0x350 range 0x350 0x358 +default RADIO_GEMTEK_PORT from 0x34c range 0x20c 0x30c 0x24c 0x34c +default RADIO_RTRACK2_PORT from 0x30c range 0x20f 0x30f +default RADIO_RTRACK_PORT from 0x20f range 0x20c 0x30c +default RADIO_SF16FMI_PORT from 0x284 range 0x284 0x384 +default RADIO_TERRATEC_PORT from 0x590 +default RADIO_TRUST_PORT from 0x350 +default RADIO_TYPHOON_MUTEFREQ from 0x87500 +default RADIO_TYPHOON_PORT from 0x316 range 0x316 0x336 +default RADIO_ZOLTRIX_PORT from 0x20c range 0x20c 0x30c + +menu radio # Radio adapters + RADIO_CADET? + RADIO_RTRACK? {RADIO_RTRACK_PORT@} + RADIO_RTRACK2? {RADIO_RTRACK2_PORT@} + RADIO_AZTECH? {RADIO_AZTECH_PORT@} + RADIO_GEMTEK? {RADIO_GEMTEK_PORT@} RADIO_GEMTEK_PCI? + RADIO_MAXIRADIO? + RADIO_MAESTRO? + RADIO_MIROPCM20? {RADIO_MIROPCM20_RDS?} + RADIO_SF16FMI? {RADIO_SF16FMI_PORT@} + RADIO_TERRATEC? {RADIO_TERRATEC_PORT@} + RADIO_TRUST? {RADIO_TRUST_PORT@} + RADIO_TYPHOON? { + RADIO_TYPHOON_PROC_FS RADIO_TYPHOON_PORT@ RADIO_TYPHOON_MUTEFREQ% + } + RADIO_ZOLTRIX? {RADIO_ZOLTRIX_PORT@} + +require RADIO_TYPHOON_PROC_FS implies PROC_FS == y + +# End diff -uNr linux.2.4.14.pristine/drivers/media/video/rules.cml linux/drivers/media/video/rules.cml --- linux.2.4.14.pristine/drivers/media/video/rules.cml Wed Dec 31 19:00:00 1969 +++ linux/drivers/media/video/rules.cml Wed Nov 14 17:01:24 2001 @@ -0,0 +1,178 @@ +# Video driver configuration + +unless VIDEO_DEV!=n suppress dependent video +unless PARPORT!=n suppress dependent I2C_PARPORT VIDEO_BWQCAM VIDEO_CQCAM +unless I2C!=n suppress dependent I2C_PARPORT VIDEO_ZORAN +unless EXPERIMENTAL suppress dependent VIDEO_CQCAM VIDEO_CPIA VIDEO_VINO +unless USB!=n suppress VIDEO_CPIA_USB +#unless SGI suppress VIDEO_VINO # CML1 doesn't actually define SGI +unless MIPS suppress VIDEO_VINO +unless PCI suppress dependent VIDEO_STRADIS VIDEO_ZORAN VIDEO_DEV +unless PPC suppress VIDEO_PLANB +unless EXPERIMENTAL and PARPORT!=n and PARPORT_1284 suppress VIDEO_W9966 + +require (VIDEO_SAA5249 <= I2C) and (TUNER_3036 <= I2C) +require VIDEO_BT848!=n implies SOUND!=n and PCI==y and I2C_ALGOBIT != n + +menu video # Video For Linux + VIDEO_PROC_FS + I2C_PARPORT? + VIDEO_BT848? VIDEO_PMS? VIDEO_PLANB? + VIDEO_BWQCAM? VIDEO_CQCAM? VIDEO_W9966? + VIDEO_CPIA? {VIDEO_CPIA_PP? VIDEO_CPIA_USB?} + VIDEO_SAA5249? TUNER_3036? VIDEO_VINO? VIDEO_STRADIS? + VIDEO_ZORAN? {VIDEO_ZORAN_BUZ? VIDEO_ZORAN_DC10? VIDEO_ZORAN_LML33?} + + VIDEO_ZR36120? + VIDEO_MEYE? + +# from drivers/video/Config.in + +unless EXPERIMENTAL suppress dependent + FB_RIVA FB_CLGEN FB_PM2 FB_VIRGE FB_RETINAZ3 FB_FM2 FB_HGA + FB_MATROX FB_ATY FB_RADEON FB_ATY128 FB_3DFX FB_SIS FB_VIRTUAL + FB_VOODOO1 +unless PPC or X86 suppress FB_VGA16 +unless ATARI or PCI suppress FB_ATY FB_RADEON FB_ATY128 +unless PCI suppress + FB_RIVA FB_PM2_FIFO_DISCONNECT FB_PM2_PCI FB_MATROX FB_3DFX FB_IMSTT + FB_IGA +unless PCI or AMIGA suppress FB_CLGEN FB_PM2 +unless AMIGA suppress FB_PM2_CVPPC FB_AMIGA FONT_PEARL_8x8 +unless ARCH_ACORN suppress FB_ACORN +#unless ARCH_NETWINDER suppress FB_CYBER2000 +unless ZORRO suppress FB_CYBER FB_VIRGE FB_RETINAZ3 FB_FM2 +unless ATARI suppress FB_ATARI +unless PPC suppress FB_OF FB_CONTROL FB_PLATINUM +unless PPC or MAC suppress FB_VALKYRIE +unless ARM suppress FB_SA1100 +unless ALPHA suppress FB_TGA +unless X86 suppress FB_VESA FB_HGA +#unless VISWS suppress FB_SGIVW +unless SPARC suppress + FB_SBUS FONT_SUN8x16 FONT_SUN12x22 +unless SPARC64 suppress FB_CREATOR +unless SPARC32 suppress FB_TCX FB_CGFOURTEEN FB_P9100 +unless MAC suppress FONT_6x11 +unless ARM or ARCH_ACORN suppress FONT_ACORN_8x8 +unless PPC suppress FB_COMPAT_XPMAC +unless SUPERH and HD64461 suppress FB_HIT +unless SUPERH suppress FB_E1355 +unless SH_DREAMCAST suppress FB_DC FB_PVR2 +unless PARISC suppress FB_STI +unless DECSTATION and TC suppress FB_PMAG_BA FB_PMAGB_B FB_MAXINE +unless NINO suppress FB_TX3912 + +default E1355_REG_BASE from 0xa8000000 +default E1355_FB_BASE from 0xa8200000 + +private FBCON_FONTS + +menu framebuffer + FB_VGA16? FB_ATY? {FB_ATY_GX FB_ATY_CT} + FB_RADEON? FB_ATY128? FB_3DFX? + FB_SIS? {FB_SIS_300 FB_SIS_315} + FB_VOODOO1? FB_RIVA? FB_CLGEN? FB_STI + FB_PM2? {FB_PM2_FIFO_DISCONNECT FB_PM2_PCI FB_PM2_CVPPC} + FB_ACORN FB_CYBER2000? FB_SA1100 + FB_AMIGA? {FB_AMIGA_OCS FB_AMIGA_ECS FB_AMIGA_AGA} + FB_CYBER? FB_VIRGE FB_RETINAZ3? FB_FM2 FB_ATARI + FB_OF FB_CONTROL FB_PLATINUM FB_IMSTT FB_CT65550 FB_S3TRIO + FB_VALKYRIE + FB_COMPAT_XPMAC + FB_TGA? FB_VESA FB_HGA? #FB_SGIVW? + FB_MATROX? { + FB_MATROX_MILLENIUM FB_MATROX_MYSTIQUE + FB_MATROX_G100 {FB_MATROX_G450?} + FB_MATROX_I2C? {FB_MATROX_MAVEN?} + FB_MATROX_MULTIHEAD + } + FB_SBUS {FB_CREATOR FB_CGTHREE FB_TCX FB_CGFOURTEEN FB_P9100 FB_LEO} + FB_BWTWO FB_CGSIX + FB_PVR2? {FB_PVR2_DEBUG} + FB_E1355 {E1355_REG_BASE@ E1355_FB_BASE@} + FB_DC? FB_HIT? + FB_PMAG_BA FB_PMAGB_B FB_MAXINE + FB_TX3912 + FB_IGA FB_VIRTUAL? + FBCON_ADVANCED { + FBCON_MFB? + FBCON_CFB2? FBCON_CFB4? FBCON_CFB8? + FBCON_CFB16? FBCON_CFB24? FBCON_CFB32? + FBCON_AFB? FBCON_ILBM? + FBCON_IPLAN2P2? FBCON_IPLAN2P4? FBCON_IPLAN2P8? + FBCON_MAC? FBCON_VGA_PLANES? FBCON_VGA? FBCON_HGA? + } + FBCON_FONTWIDTH8_ONLY + FONT_SUN8x16 FONT_SUN12x22 + FBCON_FONTS { + FONT_8x8 FONT_8x16 FONT_PEARL_8x8 FONT_ACORN_8x8 FONT_6x11 + } + +unless FB_PM2==y suppress FB_PM2_FIFO_DISCONNECT FB_PM2_PCI FB_PM2_CVPPC +unless FB_OF or MAC suppress FB_VALKYRIE +require FB_MATROX_I2C <= I2C_ALGOBIT +unless FB_MATROX_G100 suppress FB_MATROX_MAVEN FB_MATROX_MULTIHEAD +require X86 implies (VIDEO_SELECT >= FB) +unless FB_SUN3 or FB_SBUS suppress FB_BWTWO FB_CGSIX +unless FB_PCI suppress FB_IGA +unless FBCON_FONTWIDTH8_ONLY==n suppress FONT_SUN12x22 FONT_6x11 + +require FB_MATROX_I2C!=n implies I2C==y + +derive DUMMY_CONSOLE from FB or (SGI_IP22 and (SGI_NEWPORT_CONSOLE==n)) +#derive BUS_I2C from FB and VISWS +derive FB_MAC from FB and MAC +derive FB_HP300 from FB and HP300 +derive FB_APOLLO from FB and APOLLO +derive FB_Q40 from FB and Q40 +# This was a question in CML1, 'Sun3 framebuffer support' +derive FB_SUN3 from FB and (SUN3 or SUN3X) + +# These defaults will set our feature symbols if the user did not select +# them explicitly in FBCON_ADVANCED +default FBCON_MFB from FBCON_ADVANCED | + FB_ACORN | FB_AMIGA | FB_ATARI | FB_CYBER | FB_MAC | + FB_RETINAZ3 | FB_VIRGE | FB_VIRTUAL | FB_BWTWO | FB_CLGEN | + FB_TX3912 +default FBCON_CFB2 from FB_ACORN | FB_MAC | FB_SA1100 | FB_VIRTUAL | FB_TX3912 +default FBCON_CFB4 from FB_ACORN | FB_MAC | FB_VIRTUAL | FB_TX3912 +default FBCON_CFB8 from FB_ACORN | FB_ATARI | FB_ATY | FB_MAC + | FB_OF | FB_TGA | FB_VESA | FB_VIRTUAL | FB_TCX | FB_CGTHREE + | FB_CONTROL | FB_CLGEN | FB_CGFOURTEEN | FB_G364 | FB_VIRGE + | FB_CYBER | FB_VALKYRIE | FB_PLATINUM | FB_IGA | FB_MATROX + | FB_CT65550 | FB_PM2 | FB_P9100 | FB_ATY128 | FB_RIVA # | FB_SGIVW + | FB_CYBER2000 | FB_SA1100 | FB_3DFX | FB_SIS | FB_RADEON + | FB_PMAG_BA | FB_PMAGB_B | FB_MAXINE | FB_TX3912 +default FBCON_CFB16 from FB_ATARI | FB_ATY | FB_MAC | FB_VESA | + FB_VIRTUAL | FB_Q40 | FB_RADEON | FB_CONTROL | FB_CLGEN | + FB_VIRGE | FB_CYBER | FB_VALKYRIE | FB_PLATINUM | + FB_CT65550 | FB_MATROX | FB_PM2 | #FB_SGIVW | + FB_RIVA | FB_ATY128 | FB_CYBER2000 | FB_3DFX | FB_SIS | + FB_PVR2 | FB_VOODOO1 +default FBCON_CFB24 from FB_ATY | FB_VIRTUAL | FB_CLGEN + | FB_VESA | FB_MATROX | FB_PM2 | FB_ATY128 | FB_RADEON + | FB_CYBER2000 | FB_PVR2 | FB_VOODOO1 +default FBCON_CFB32 from FB_ATARI | FB_ATY | FB_VESA | FB_VIRTUAL | + FB_CONTROL | FB_CLGEN | FB_TGA | FB_PLATINUM | FB_MATROX | + FB_PM2 | FB_RIVA | FB_ATY128 | FB_FM2 | FB_3DFX | FB_SIS | + FB_PVR2 # | FB_SGIVW | FB_RADEON | FB_VOODOO1 +default FBCON_AFB from FB_AMIGA +default FBC