public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Michael Zimmermann <sigmaepsilon92@gmail.com>
To: Andrew Fish <afish@apple.com>
Cc: Laszlo Ersek <lersek@redhat.com>, Feng Tian <feng.tian@intel.com>,
	 "edk2-devel@lists.01.org" <edk2-devel@ml01.01.org>,
	Star Zeng <star.zeng@intel.com>,
	Liming Gao <liming.gao@intel.com>
Subject: Re: how to load drivers from additional FV's?
Date: Wed, 15 Mar 2017 16:28:07 +0100	[thread overview]
Message-ID: <CAN9vWD+DUP=eNLrJVa6mMMNvtci=AjVF=78aAgqjohxzS98X4g@mail.gmail.com> (raw)
In-Reply-To: <426920F0-4266-4BB2-BF19-40715A0F1C01@apple.com>

Laszlo: As Andrew said, the problem is nesting FV's. I've also tried
different ways and depths of nesting FV's in the main FV, but none of
them worked. Also, I'm using PrePi,

Andrew: Yea that seems to be the problem, but how would I access other
sections? ReadSection doesn't seem to take any section id or current
section pointer.

Thanks
Michael

On Wed, Mar 15, 2017 at 4:13 PM, Andrew Fish <afish@apple.com> wrote:
>
>> On Mar 15, 2017, at 8:07 AM, Laszlo Ersek <lersek@redhat.com> wrote:
>>
>> On 03/15/17 13:23, Michael Zimmermann wrote:
>>> I'm trying to add another FV section FVMAIN_COMPACT so I can keep
>>> Platform specific drivers in a separate, included fdf.
>>>
>>> I did this:
>>>  FILE FV_IMAGE = 9E21FD93-9C72-4c15-8C4B-E77F1DB2D792 {
>>>    SECTION GUIDED EE4E5898-3914-4259-9D6E-DC7BD79403CF
>>> PROCESSING_REQUIRED = TRUE {
>>>      SECTION FV_IMAGE = FVMAIN
>>>      SECTION FV_IMAGE = FVMAINPLATFORM
>>>    }
>>>  }
>>>
>>> The image builds file and using uefitool I can verify that the new FV
>>> is inside the compressed section.
>>> But none of the drivers gets discovered/loaded and I get 'Protocol not
>>> present!!' errors.
>>
>> The FVs need to be exposed to the DXE core via FV HOBs. See
>> - 9.8.5 "Firmware Volume HOBs" in Volume 2 of the Platform Init 1.5
>>  spec,
>> - and more importantly, 5.7 "Firmware Volume HOB" in Volume 3 of the
>>  same.
>>
>> You can use the BuildFvHob() function for this.
>>
>> If the firmware volume contains PEIMs (... as well), then it has to be
>> exposed to the PEI core too, I think. I think the
>> PeiServicesInstallFvInfoPpi() function can be used for that. (See 3.3
>> "PEI" in Volume 3 of the PI spec.)
>>
>> ... I used the PeiFvInitialization() function in
>> OvmfPkg/PlatformPei/Fv.c as a "cheat sheet" for the above.
>>
>
> Laszlo,
>
> I think this case is an FV that is compressed and nested in another FV that is discovered. I think the issues is multiple FV Sections in an FV file are not currently supported.
>
> Thanks,
>
> Andrew Fish
>
>
>> Thanks
>> Laszlo
>> _______________________________________________
>> edk2-devel mailing list
>> edk2-devel@lists.01.org
>> https://lists.01.org/mailman/listinfo/edk2-devel
>


  reply	other threads:[~2017-03-15 15:28 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-15 12:23 how to load drivers from additional FV's? Michael Zimmermann
2017-03-15 15:07 ` Laszlo Ersek
2017-03-15 15:13   ` Andrew Fish
2017-03-15 15:28     ` Michael Zimmermann [this message]
2017-03-15 15:44       ` Andrew Fish
2017-03-15 15:38     ` Laszlo Ersek
2017-03-15 15:54       ` Andrew Fish
2017-03-15 16:07         ` Michael Zimmermann
2017-03-16  2:29           ` Gao, Liming
2017-03-16  2:32             ` Andrew Fish
2017-03-16 11:20         ` Laszlo Ersek
2017-03-16 12:20           ` Michael Zimmermann
2017-03-16 12:27             ` Laszlo Ersek
2017-03-16 12:33               ` Michael Zimmermann
2017-03-16 14:33                 ` Andrew Fish
2017-03-15 15:12 ` Andrew Fish

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAN9vWD+DUP=eNLrJVa6mMMNvtci=AjVF=78aAgqjohxzS98X4g@mail.gmail.com' \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox