1.1 --- a/docs/overview.txt Fri Sep 05 10:57:06 2008 +0000
1.2 +++ b/docs/overview.txt Mon Sep 29 20:19:45 2008 +0000
1.3 @@ -659,6 +659,53 @@
1.4 - default to:
1.5 - all empty
1.6
1.7 +Kernel specific |
1.8 +----------------+
1.9 +
1.10 +A kernel is defined by:
1.11 +
1.12 + - a human-readable name, in lower case letters, with numbers as appropriate.
1.13 + The underscore is allowed; space and special characters are not (although
1.14 + they are internally replaced with underscores.
1.15 + Eg.: linux, bare-metal
1.16 + - a file in "config/kernel/", named after the kernel name, and suffixed with
1.17 + ".in".
1.18 + Eg.: config/kernel/linux.in, config/kernel/bare-metal.in
1.19 +
1.20 +The kernel's ".in" file must contain:
1.21 + > an optional lines containing exactly "# EXPERIMENTAL", starting on the
1.22 + first column, and without any following space or other character.
1.23 + If this line is present, then this kernel is considered EXPERIMENTAL,
1.24 + and correct dependency on EXPERIMENTAL will be set.
1.25 + > the config option "KERNEL_%kernel_name%" (where %kernel_name% is to be
1.26 + replaced with the actual kernel name, with all special characters and
1.27 + spaces replaced by underscores).
1.28 + That config option must have *neither* a type, *nor* a prompt! Also, it can
1.29 + *not* depends on EXPERIMENTAL.
1.30 + Eg.: KERNEL_linux, KERNEL_bare_metal
1.31 + + mandatory:
1.32 + defines a (terse) help entry for this kernel.
1.33 + Eg.:
1.34 + config KERNEL_bare_metal
1.35 + help
1.36 + Build a compiler for use without any kernel.
1.37 + + optional:
1.38 + selects adequate associated config options.
1.39 + Eg.:
1.40 + config KERNEL_bare_metal
1.41 + select BARE_METAL
1.42 + help
1.43 + Build a compiler for use without any kernel.
1.44 +
1.45 + > other kernel specific options, at your discretion. Note however that, to
1.46 + avoid name-clashing, such options should be prefixed with
1.47 + "KERNEL_%kernel_name%", where %kernel_name% is again tp be replaced with
1.48 + the actual kernel name.
1.49 + (Note: due to historical reasons, and lack of time to clean up the code,
1.50 + I may have left some config options that do not completely conform to
1.51 + this, as the kernel name was written all upper case. However, the prefix
1.52 + is unique among kernels, and does not cause harm).
1.53 +
1.54 Adding a new version of a component |
1.55 ------------------------------------+
1.56