On Mon, Sep 30, 2013 at 09:05:04PM +0100, Grant Likely wrote:
> > Handling the 2 cases is not a problem.  I just don't want to handle
> > 'mixed' cases where
> > a command line and an FDT are passed to the stub, and information from
> > both is used.
> >
> > As I understand it, the two cases are:
> >
> > FDT_GUID present == GRUB case
> > * GRUB loads initrd if present
> > * GRUB provides complete FDT to stub (includes command line, hardware
> > description, initrd entry, etc.)
> > * EFI stub loads FDT using FDT_GUID, adds memory map and system table
> > pointer to FDT, starts kernel.
> > * (any command line present in EFI_LOADED_IMAGE is ignored.)
> >
> > FDT_GUID absent == current case
> > * stub loads FDT and initrd from system partition
> > * stub adds command line from EFI_LOADED_IMAGE to FDT
> > * stub adds initrd entry to FDT
> > * stub adds memory map and system table pointer to FDT, starts kernel.
> >
> > In the case of UEFI owning the FDT, and providing it to the stub,
> > where does the initrd come from?  I think this adds
> > another case to handle...
> The stub will still need to process a command line if it is given one via the
> load image protocol. In that case the sub should override the setting in the
> FDT if the initrd argument is present.

Hmm, well, it's slightly worse than that - it will have one; only it
will be GRUB's command line.

The way that can be resolved is:
- FDT present?
  - Commandline present in FDT chosen node?
    - Yes
      - Use that.
    - No
      - EFI_LOADED_IMAGE command line present?
        - Yes
          - Use that.
        - No
          - Fail miserably.

/
    Leif

_______________________________________________
boot-architecture mailing list
[email protected]
http://lists.linaro.org/mailman/listinfo/boot-architecture

Reply via email to