6.2.10 Bus drivers that produce children with multiple parents
Sometimes a bus driver may produce a child handle, and that child handle actually uses the services of multiple parent controllers. This design is useful for multiplexing a group of parent controllers.
The bus driver, in this case, manages multiple parent controllers and produces a single child handle. The services produced on that single child handle make use of the services from each of the parent controllers. Typically, the child device is a virtual device, so a Device Path Protocol would not be installed onto the child handle.
The console splitter bus driver is an example driver in the EDK II that
produces children with multiple parent controllers in the Start()
service of
the Driver Binding Protocol. This driver is in the
\MdeModulePkg\Universal\Console\ConSplitterDxe
directory.