Wind River Kernel

The Wind River Linux kernel is a git repository that represents a set 
of validated/supported and approved set of kernel changes and 
configuration.
== Structure ==
The Wind River Kernel repository is composed of base topic branches, BSP topic branches, and a common
configuration branch.
A BSP branch contains patches that are specific to a particular board that are either in development
or for technical reasons are not safe for application to all boards via a base topic branch. BSP branches
reference particular configurations that are part of the configuration branch. BSP topic branches have
the convention of <bsp name>-<kernel type>
 
Base topic branches are collection points for common features (and configuration) that are safe
for all boards. These are also known as "kernel type" branches. Examples are the 'standard' or
'preempt_rt' kernel type branches. BSPs are directly branches from the end of the common topic
branches.
The configuration branch is called "wrs_meta" and it contains the configuration (And patches) that
are used to create the tree, and configure BSPs. 
The branches in the kernel repository are constructed to be history clean, segmented and 
represent the base set of validated and supported board and feature configurations.
The Wind River kernel recipe has the ability to build arbitrary branches and configurations, so while the
default set of branches are suggested, they are not the only available build targets in the tree.
== Patching ==
kernel patching is controlled via the kern_tools and guilt. It is not currently implemented, but
will be available shortly. 
*kernel patching is not encouraged, since accepted changes should be merged directly nto the kernel repository, not patches into the tree*
== Kernel features ==
Named kernel features, which are kernel patches and configuration, can be passed to the kernel
recipe and used to modify, configure and manipulate the repository. This functionality is currently
disabled pending standardization on search paths.
== Configuration ==
Configuration of a BSP is done using configuration data captured inside the kernel repository on the 
wrs_meta branch. This captured configuration is composed of config fragments that allow common 
functionality to be named and grouped. This means that imposing a single change to any BSP is a
one line update to a single file.
=== config fragments ===
If the default configuration for a BSP needs to be augmented, a kernel configuration fragment
can be created and added to the SRC_URI.
 * file://my_config.cfg
Will propagate a configuration fragment (which uses the format of any kernel defconfig) to the
workdir, and will be applied to the kernel, and used as the last configuration fragment. Thus
allowing the addition or override of built in configuration values.
=== defconfigs ===
If building a BSP that is not already merged/defined by the kernel repository, and
entire defconfig can be supplied via the SRC_URI.
When the defconfig is detected, it will be added to the dynamically created <machine name>-<kernel type> 
branch and used as the only configuration for the board.
== Submitting Changes ==
Changes are managed using upstream best practices. Pull requests can be sent against
a BSP (or common) branch, and configuration changes against wrs_meta.